Author: Richard Seroter

  • Daily Reading List – January 22, 2025 (#477)

    I had some wildfires nearby today which forced me to leave the Google office and head home. It was fairly quickly extinguished, but it’s a reminder that I’m in control of virtually nothing. Stay safe out there!

    [blog] 6 secrets for never being blocked again. Is the platform/DevOps/ops team blocking your dev team? Here’s some interesting advice for building more of a partnership model versus service desk model.

    [blog] Record-breaking 5.6 Tbps DDoS attack and global DDoS trends for 2024 Q4. Cloudflare always has interesting data about internet traffic. Here, they share details about distributed denial of service attacks from last year.

    [blog] Improve the RAG pipeline with RAG triad metrics. Having something to measure gives you focus areas to improve on. Mete shows us how to iterate on various improvements to RAG scores.

    [blog] Introducing BigQuery metastore, a unified metadata service with Apache Iceberg support. I don’t personally feel the pain that this solves because I don’t mess with a lot of analytics systems, but this seems to address something important.

    [article] How to Make Your Team’s Work More Visible. Good advice. It’s part of the team leader’s responsibility to create public wins within the organization.

    [blog] Parfait: Enabling private AI with research tools. We like sharing with others. This GitHub org contains tools we’ve created and use for private AI, and you can too.

    [blog] Top 10 Microservices Design Patterns you should know. Just because everything doesn’t need to be a microservice, it doesn’t mean we shouldn’t be familiar with patterns when we need them.

    [blog] Building GenAI Chat App (Part 1): How to Deploy Gemma 2 on Cloud Run Utilizing Ollama. Simple example, and it’s good to see people experimenting.

    [blog] How to run (any) open LLM with Ollama on Google Cloud Run [Step-by-step]. Fantastic example from Geshan.

    [blog] Taming Legacy Java Dependencies with Pomify and Google Cloud Artifact Registry. I doubt that there are any “easy” migrations, but some tech can make it “easier.”

    [article] Postman launches an AI agent builder on top of its API platform. This makes more sense the more you think about it. I can understand why a platform focused on APIs gets into the agent business.

    [article] Service as Software: How AI Agents Are Transforming SaaS. Important trend, and we’re only going to see more agents that plan, decide, and act on our behalf.

    [blog] The AI Coding Honeymoon (And What Comes After). Devin dove head-first into some AI coding tools, and had to reset after feeling like he lost control. Good writeup.

    [blog] So you wanna write Kubernetes controllers? Long, useful piece from a former colleague. I like when experts share practical advice.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – January 21, 2025 (#476)

    It was a great long weekend, and I had a fun time with my family yesterday. During some downtime, I got to play with this new breed of text-to-app AI tools and shared some quick perspectives here. In today’s reading list, I have a lot of unintentionally related content!

    [article] Make Better Strategic Decisions Around Slow-Developing Technology. Interesting insight. Seems important to identify which are actually slow-developing. I like the point around thinking about innovation via more than one technology.

    [blog] 4 Lessons We Learned from Bringing AI to Our Company. Speaking of innovation, be very thoughtful in how you introduce and roll out AI tech.

    [article] Deloitte: 74% of enterprises have already met or exceeded gen AI initiatives (but challenges remain). I find this surprising. But there’s some interesting results here. Software development is where ROI is captured today, but lots of ambition for more.

    [blog] GKE delivers breakthrough Horizontal Pod Autoscaler performance. Scale faster, save money. And give more consistent performance to y our customers. These are great improvements to Kubernetes.

    [article] Introduction to Go Programming Language. This is a good introduction to the language. Adopting another programming language is a big deal, so pieces like this can help you decide if it’s worth it.

    [youtube-video] Build with Go in Project IDX. Speaking of Go, here’s one way to invest in it without installing a single piece of software on your local machine.

    [article] Notes on Nix. And speaking of Project IDX, Forrest has a great introductory post on a key underlying technology, Nix. This provides a straightforward way to define consistent dev environments.

    [blog] Cloud CISO Perspectives: Talk cyber in business terms to win allies. In my experience, smart tech folks who talk like smart tech folks don’t get the buy-in from the rest of the company. It doesn’t mean you have to “dumb it down.” It means you pick a more relevant vocabulary.

    [blog] Apache Airflow Overview. I know Airflow, but haven’t actually used it. This piece offers a helpful introduction to this orchestration tool used by data folks.

    [blog]  Deployment of Serverless Machine Learning models with GPUs using Google Cloud: Cloud Run. I’m enjoying the increase in folks who are using Cloud Run to experiment with open LLMs.

    [blog] Building Effective Agents with Spring AI (Part 1). Here’s a great set of examples of how to implement specific agentic patterns with the Spring AI library.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – January 17, 2025 (#475)

    This definitely felt like the first week “back” from the holiday break. Everyone and everything was at full speed. We’ve got a three day weekend here in the States, so I’ll be back on Tuesday.

    [article] RAG, AI Agents, and Agentic RAG: An In-Depth Review and Comparative Analysis. It’s ok if some of these AI terms are still foreign or confusing. Keep digging into material like this to build some familiarity.

    [article] How to Make Your Product Idea Go Viral Inside Your Company: Lessons from Figma Slides. Frustrated that your amazing product idea or tech platform has no takers inside the company? It’s time to rethink your approach.

    [blog] AlloyDB Autoscaling is Easy. Gleb shows an event-driven way to scale up a cloud PostgreSQL database when usage surges.

    [article] Don’t Wait for Promotion Cycles to Advocate for Your Best Employees. Good advice. It took me longer to understand this than I’d care to admit.

    [blog] Event-Driven Architecture Issues & Challenges. Event-driven systems can be great. They can also be overkill and sap your strength. Derek calls out a few problems that arise.

    [blog] Capture AI’s Low-Hanging Fruit with Agents. Short post, but good insight from Brian about some viable early use cases for AI and agents.

    [article] What’s next for agentic AI? LangChain founder looks to ambient agents. Almost have your head around AI agents? Now you need to figure out what an ambient agent is.

    [article] What are the best ways to implement AI tools like agents in the software development process? This is apparently an all-agent edition of the reading list today. This one features a good roundtable of folks with grounded opinions.

    [blog] OSV-SCALIBR: A library for Software Composition Analysis. You can now use what Google uses for software scanning.

    [article] AI users eye higher-level duties as adoption unfolds: Workday. Those using AI are the most optimistic about what they do with it. Those waiting to adopt have the most skepticism. That sounds about right.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – January 16, 2025 (#474)

    It’s something like 60 working days until Google Cloud Next ’25 in Vegas. Just typing that made me black out for a minute. Lots to do, but it’s going to absolutely unforgettable. Hope to see you there!

    [paper] How is Google using AI for internal code migrations? What a neat story. Read this new paper to learn how our Google Ads business used AI to speed up their code migration by 50%.

    [blog] 2025 Predictions from the Condensing the Cloud Team. As you’d expect, there’s a lot of AI in these predictions from the Battery Ventures folks. I agree with most of them.

    [article] Technology Trends for 2025. This one’s based on real data based on what classes people are taking on O’Reilly’s learning platform. Some surprises here.

    [blog] Open Models on Vertex AI with Hugging Face: Serving multiple LoRA Adapters on Vertex AI. This is an important, but fairly sophisticated, topic. Ivan does a good job explaining the fundamentals here.

    [blog] Noteworthy AI Research Papers of 2024 (Part Two). More papers to add to your must-read list.

    [article] Enabling Developer Productivity: Intentional Evolution of the Platform. Insightful talk from my colleague Jennifer.

    [article] Google’s Gemini AI just shattered the rules of visual processing — here’s what that means for you. This site is so aggressive with ads and visual flair, but still publishes content I get value from.

    [blog] How do interruptions impact different software engineering activities? What happens when tasks like code writing, code comprehension, and code reviews get interrupted? Some interesting findings here.

    [blog] C4A, the first Google Axion Processor, now GA with Titanium SSD. Completely absurd storage performance for those doing real-time data processing.

    [blog] Spanner PostgreSQL performance benchmarking. Is there overhead to using the PostgreSQL adapter for Cloud Spanner? This analysis takes a look.

    [article] Why Software Developers Need to Build Their Personal Brand. You don’t have to do lame, weird stuff to build out a brand. Just do more work in public, authentically.

    [blog] Vertex AI RAG Engine: A developers tool. Retrieval Augmented Generation as-a-Service is an underrated big deal. There’s a lot of expertise and machinery required for DIY.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – January 15, 2025 (#473)

    Some ups and downs today, but I’m a big believer that the secret to a happy life is maintaining perspective. All in all, good day. In today’s reading list, there are a handful of pieces that will really make you think.

    [blog] Writing a tech blog people want to read. Is the recipe for blog popularity to have “clear opinions about working in tech that many people disagree with”? There’s truth to that. Rehashing the same topics or offering milquetoast opinions won’t earn many views.

    [blog] The 2025 AI Engineer Reading List. Wow. Bookmark this and work through content here that catches your eye. These are some excellent references to key AI engineering topics like evals, RAG, agents, code generation, and fine tuning.

    [repo] Multimodal Live Agent. Here’s a cool sample app that shows off a pattern for real-time agents powered by Google Gemini.

    [blog] The Most Important Developer Productivity Metric. Great story here. Excessive build times might be killing you, but nobody is focused on it. Liz explains how Honeycomb got their builds back down to 7 minutes.

    [blog] Continuing Resolutions. Brian points out that enterprise debt (tech debt) reminds him of “continuing resolutions” which the US government uses in lieu of proper budget planning. Our enterprise debt is a similar accumulation of suboptimal decisions.

    [blog] AI Agents Are Here. What Now? The Hugging Face team join the fray on agents. They’ve got some good definitions and value assessments here.

    [blog] Google Workspace business customers now get the latest in generative AI. This is GREAT news for folks. AI features should be baked into more products, not something you have to add-on later.

    [blog] Your Single-Page Applications Are Vulnerable: Here’s How to Fix Them. Here’s some actionable advice from the Mandiant folks. Make sure you’re not exposed to any of these vulnerabilities.

    [blog] The Dream of Hadoop is Alive in AI. Enjoyable post from Steve that digs into the history of Hadoop, and how AI brings us closer to the vision of a query interface for mass consumption.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – January 14, 2025 (#472)

    I hit the wall by late afternoon, and had to keep working on something against my will. But now I’m glad I stuck with it. What do you do when that happens to you?

    [paper] Titans: Learning to Memorize at Test Time. This might be a really big deal? This paper from Google Research talks about a successor to the Transformers architecture.

    [article] Google Expands Gemini Code Assist with Support for Atlassian, GitHub, and GitLab. It’s great functionality that keeps you in the IDE instead of bouncing around so much.

    [article] Getting exec buy-in for developer productivity initiatives. Good post. How can you speak in the language of your stakeholder to get them fired up about dev productivity?

    [article] Mistral’s new Codestral code completion model races up third-party charts. I saw this model getting some good publicity. Looks good!

    [article] Google Cloud could overtake Microsoft’s No. 2 cloud position this year. I care about this, but I don’t obsess about it. If we do the right things for customers, they’ll make their way over here.

    [article] The Insidious Effects of Hurrying. Are you suffering from “hurry sickness”? Most of us probably are, but need to identify and mitigate for the sake of our health.

    [blog] Angular 2025 Strategy. A lot of the web runs on Angular! It’s great to see a meaningful set of recent accomplishments, and aggressive plans for the year ahead.

    [blog] Arrange Your Code to Communicate Data Flow. Short post, but an important practice for developers to consider in their code.

    [blog] RAG Evaluation — A Step-by-Step Guide with DeepEval. If you’re doing retrieval augmented generation, you should have a process in place to evaluate your pipelines. Here are demos of two approaches.

    [blog] Go 1.24 interactive tour. I wish all release notes were like this. Try out the new Go features in the browser.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – January 13, 2025 (#471)

    Many folks were working differently with AI long before anyone documented. But now folks are capturing some of these changes to the dev workflow. I wrote up a post yesterday on it, and there are complementary points in today’s reading list.

    [blog] AI-Driven Prototyping: v0, Bolt, and Lovable Compared. Excellent post from Addy about some fascinating tools for building apps.

    [blog] Why asking for the ROI of AI in software development is the wrong question. It’s past time to question whether AI makes software development better. It does. This post looks at measuring the impact of integrating it into the workflow.

    [blog] Prophecies of the Flood. Ethan talks about the conviction that AI researchers inside AI labs have about “the emergence of something unprecedented.”

    [blog] My AI/LLM predictions for the next 1, 3 and 6 years, for Oxide and Friends. Another smart person looks at the future. Nobody has any real idea of what’s going to happen, but even the thought-exercise is useful.

    [article] Open source licenses: Everything you need to know. Is this the most thrilling topic. No. But it does matter as you plan your long-term bets.

    [article] What Effective CEOs Do After Their First 90 Days. Any leaders should have a plan when taking over a new team or organization. This offers a decent blueprint!

    [blog] Understanding Private Cloud, Hybrid Infrastructure, Multi-Cloud, and Distributed Cloud: A Comprehensive Framework. Keith goes through each deployment model and how they interact.

    [blog] How to build dynamic web experiences with Conversational Agents. I hadn’t thought of making web pages evolve in reaction to what’s happening in the chat agent. Wild.

    [blog] How to be a Ghostbuster. Are nearly 10% of developers doing virtually no work in their job? This is on the offending dev, but also on the team leaders who aren’t close enough to the work.

    [blog] 8 coding lessons from almost three decades of software development. These are great. Hopefully your team discusses the ideas and their merits.

    [blog] Cursor vs Windsurf vs GitHub Copilot. You might not be downloading and using every AI tool right now. I’d have a lot of question is you WERE. Analysis like this helps you get the gist. See this related one on Windsurf vs Cursor from the same folks.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • What does a modern, AI-assisted developer workflow built around Google Gemini look like? Let’s explore.

    What does a modern, AI-assisted developer workflow built around Google Gemini look like? Let’s explore.

    Software is never going to be the same. Why would we go back to laborious research efforts, wasting time writing boilerplate code, and accepting so many interruptions to our flow state? Hard pass. It might not happen for you tomorrow, next month, or next year, but AI will absolutely improve your developer workflow.

    Your AI-powered workflow may make use of more than one LLMs. Go for it. But we’ve done a good job of putting Gemini into nearly every stage of the new way of working. Let’s look at what you can do RIGHT NOW to build with Gemini.

    Build knowledge, plans, and prototypes with Gemini

    Are you still starting your learning efforts with a Google search? Amateurs 🙂 I mean, keep doing those so that we earn ad dollars. But you’ve got so many new ways to augment a basic search.

    Gemini Deep Research is pretty amazing. Part of Gemini Advanced, it takes your query, searches the web on your behalf, and gives you a summary in minutes. Here I asked for help understanding the landscape of PostgreSQL providers, and it recapped results found in 240+ relevant websites from vendors, Reddit, analyst, and more.

    Gemini Deep Research creating a report about the PostgreSQL landscape

    You’ve probably heard of NotebookLM. Built with Gemini 2.0, it takes all sorts of digital content and helps you make sense of it. Including those hyper-realistic podcasts (“Audio Overviews”).

    Planning your work or starting to flesh out a prototype? For free, Google AI Studio lets you interact with the latest Gemini models. Generate text, audio, or images from prompts. Produce complex codebases based on reference images or text prompts. Share your desktop and get live assistance on whatever task you’re doing. It’s pretty rad.

    Google AI Studio’s Live API makes it possible to interact live with the model

    Google Cloud customers can get knowledge from Gemini in a few ways. The chat for Gemini Cloud Assist gives me an ever-present agent that can help answer questions or help me explore options. Here, I asked for a summary of the options for running PostgreSQL in Google Cloud. It breaks the response down by fully-managed, self-managed, and options for migration.

    Chat for Gemini Code Assist teaches me about PostgreSQL options

    Gemini for Google Cloud blends AI-assistance into many different services. One way to use this is to understand existing SQL scripts, workflows, APIs, and more.

    Gemini in BigQuery explains an existing query and helps me learn about it

    Trying to plan out your next bit of work? Google AI Studio or Vertex AI Studio can assist here too. In either service, you can pass in your backlog of features and bugs, maybe an architecture diagram or two, and even some reference PDFs, and ask for help planning out the next sprint. Pretty good!

    Vertex AI Studio “thinking” through a sprint plan based on multi-modal input

    Build apps and agents with Gemini

    We can use Google AI Studio or Vertex AI Studio to learn things and craft plans, but now let’s look at how you’d actually build apps with Gemini.

    You can work with the raw Gemini API. There are SDK libraries for Python, Node, Go, Dart, Swift, and Android. If you’re working with Gemini 2.0 and beyond, there’s a new unified SDK that works with both the Developer API and Enterprise API (Vertex). It’s fairly easy to use. I wrote a Google Cloud Function that uses the unified Gemini API to generate dinner recipes for whatever ingredients you pass in.

    package function
    
    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"log"
    	"net/http"
    	"os"
    
    	"github.com/GoogleCloudPlatform/functions-framework-go/functions"
    	"google.golang.org/genai"
    )
    
    func init() {
    	functions.HTTP("GenerateRecipe", generateRecipe)
    }
    
    func generateRecipe(w http.ResponseWriter, r *http.Request) {
    	ctx := context.Background()
    	ingredients := r.URL.Query().Get("ingredients")
    
    	if ingredients == "" {
    		http.Error(w, "Please provide ingredients in the query string, like this: ?ingredients=pork, cheese, tortilla", http.StatusBadRequest)
    		return
    	}
    
    	projectID := os.Getenv("PROJECT_ID")
    	if projectID == "" {
    		projectID = "default" // Provide a default, but encourage configuration
    	}
    
    	location := os.Getenv("LOCATION")
    	if location == "" {
    		location = "us-central1" // Provide a default, but encourage configuration
    	}
    
    	client, err := genai.NewClient(ctx, &genai.ClientConfig{
    		Project:  projectID,
    		Location: location,
    		Backend:  genai.BackendVertexAI,
    	})
    	//add error check for err
    	if err != nil {
    		log.Printf("error creating client: %v", err)
    		http.Error(w, "Failed to create Gemini client", http.StatusInternalServerError)
    		return
    	}
    
    	prompt := fmt.Sprintf("Given these ingredients: %s, generate a recipe.", ingredients)
    	result, err := client.Models.GenerateContent(ctx, "gemini-2.0-flash-exp", genai.Text(prompt), nil)
    	if err != nil {
    		log.Printf("error generating content: %v", err)
    		http.Error(w, "Failed to generate recipe", http.StatusServiceUnavailable)
    		return
    	}
    
    	if len(result.Candidates) == 0 {
    		http.Error(w, "No recipes found", http.StatusNotFound) // Or another appropriate status
    		return
    	}
    
    	recipe := result.Candidates[0].Content.Parts[0].Text // Extract the generated recipe text
    
    	response, err := json.Marshal(map[string]string{"recipe": recipe})
    	if err != nil {
    		log.Printf("error marshalling response: %v", err)
    		http.Error(w, "Failed to format response", http.StatusInternalServerError)
    		return
    	}
    
    	w.Header().Set("Content-Type", "application/json")
    	w.Write(response)
    }
    

    There are a lot agent frameworks out there right now. A LOT. Many of them have good Gemini support. You can build agents with Gemini using LangChain, LangChain4J, LlamaIndex, Spring AI, Firebase Genkit, and the Vercel AI SDK.

    What coding tools can I use with Gemini? GitHub Copilot now supports Gemini models. Folks who love Cursor can choose Gemini as their underlying model. Same goes for fans of Sourcegraph Cody. Gemini Code Assist from Google Cloud puts AI-assisted tools into Visual Studio Code and the JetBrains IDEs. Get the power of Gemini’s long context, personalization on your own codebase, and now the use of tools to pull data from Atlassian, GitHub, and more. Use Gemini Code Assist within your local IDE, or in hosted environments like Cloud Workstations or Cloud Shell Editor.

    Gemini Code Assist brings AI assistance to your dev workspace, including the use of tools

    Project IDX is another Google-provided dev experience for building with Gemini. Use it for free, and build AI apps, with AI tools. It’s pretty great for frontend or backend apps.

    Project IDX lets you build AI apps with AI tools

    Maybe you’re building apps and agents with Gemini through low-code or declarative tools? There’s the Vertex AI Agent Builder. This Google Cloud services makes it fairly simple to create search agents, conversational agents, recommendation agents, and more. No coding needed!

    Conversational agents in the Vertex AI Agent Builder

    Another options for building with Gemini is the declarative Cloud Workflows service. I built a workflow that calls Gemini through Vertex AI and summarizes any provided document.

    # Summarize a doc with Gemini
    main:
      params: [args]
      steps:
      - init:
          assign:
            - doc_url: ${args.doc_url}
            - project_id: ${args.project_id}
            - location: ${args.location}
            - model: ${args.model_name}
            - desired_tone: ${args.desired_tone}
            - instructions: 
      - set_instructions:
          switch:
            - condition: ${desired_tone == ""}
              assign:
                - instructions: "Deliver a professional summary with simple language."
              next: call_gemini
            - condition: ${desired_tone == "terse"}
              assign:
                - instructions: "Deliver a short professional summary with the fewest words necessary."
              next: call_gemini
            - condition: ${desired_tone == "excited"}
              assign:
                - instructions: "Deliver a complete, enthusiastic summary of the document."
              next: call_gemini
      - call_gemini:
          call: googleapis.aiplatform.v1.projects.locations.endpoints.generateContent
          args:
            model: ${"projects/" + project_id + "/locations/" + location + "/publishers/google/models/" + model}
            region: ${location}
            body:
              contents:
                role: user
                parts:
                  - text: "summarize this document"
                  - fileData: 
                      fileUri: ${doc_url}
                      mimeType: "application/pdf"
              systemInstruction: 
                role: user
                parts:
                  - text: ${instructions}
              generation_config:  # optional
                temperature: 0.2
                maxOutputTokens: 2000
                topK: 10
                topP: 0.9
          result: gemini_response
      - returnStep:
          return: ${gemini_response.candidates[0].content.parts[0].text}
    

    Similarly, its sophisticated big-brother, Application Integration, can also interact with Gemini through drag-and-drop integration workflows. These sorts of workflow tools help you bake Gemini predictions into all sorts of existing processes.

    Google Cloud Application Integration calls Gemini models

    After you build apps and agents, you need a place to host them! In Google Cloud, you’ve could run in a virtual machine (GCE), Kubernetes cluster (GKE), or serverless runtime (Cloud Run). There’s also the powerful Firebase App Hosting for these AI apps.

    There are also two other services to consider. For RAG apps, we now offer the Vertex AI RAG Engine. I like this because you get a fully managed experience for ingesting docs, storing in a vector database, and performing retrieval. Doing LangChain? LangChain on Vertex AI offers a handy managed environment for running agents and calling tools.

    Build AI and data systems with Gemini

    In addition to building straight-up agents or apps, you might build backend data or AI systems with Gemini.

    If you’re doing streaming analytics or real-time ETL with Dataflow, you can build ML pipelines, generate embeddings, and even invoke Gemini endpoints for inference. Maybe you’re doing data analytics with frameworks like Apache Spark, Hadoop, or Apache Flink. Dataproc is a great service that you can use within Vertex AI, or to run all sorts of data workflows. I’m fairly sure you know what Colab is, as millions of folks per month use it for building notebooks. Colab and Colab Enterprise offer two great ways to build data solutions with Gemini.

    Let’s talk about building with Gemini inside your database. From Google Cloud SQL, Cloud Spanner, and AlloyDB, you can create “remote models” that let you interact with Gemini from within your SQL queries. Very cool and useful. BigQuery also makes it possible to work directly with Gemini from my SQL query. Let me show you.

    I made a dataset from the public “release notes” dataset from Google Cloud. Then I made a reference to the Gemini 2.0 Flash model, and then asked Gemini for a summary of all a product’s release notes from the past month.

    -- create the remote model
    CREATE OR REPLACE MODEL
    `[project].public_dataset.gemini_2_flash`
    REMOTE WITH CONNECTION `projects/[project]/locations/us/connections/gemini-connection`
    OPTIONS (ENDPOINT = 'gemini-2.0-flash-exp');
    
    -- query an aggregation of responses to get a monthly product summary
    SELECT * 
    FROM
     ML.GENERATE_TEXT(
        MODEL `[project].public_dataset.gemini_2_flash`,
        (
          SELECT CONCAT('Summarize this month of product announcements by rolling up the key info', monthly_summary) AS prompt
          FROM (
            SELECT STRING_AGG(description, '; ') AS monthly_summary
            FROM `bigquery-public-data`.`google_cloud_release_notes`.`release_notes` 
            WHERE product_name = 'AlloyDB' AND DATE(published_at) BETWEEN '2024-12-01' AND '2024-12-31'
          )
        ),
        STRUCT(
          .05 AS TEMPERATURE,
          TRUE AS flatten_json_output)
        )
    

    How wild is that? Love it.

    You can also build with Gemini in Looker. Build reports, visualizations, and use natural language to explore data. See here for more.

    And of course, Vertex AI helps you build with Gemini. Build prompts, fine-tune models, manage experiments, make batch predictions, and lots more. If you’re working with AI models like Gemini, you should give Vertex AI a look.

    Build a better day-2 experience with Gemini

    It’s not just about building software with Gemini. The AI-driven product workflow extends to post-release activities.

    Have to set up least-privilege permissions for service accounts? Build the right permission profile with Gemini.

    The “Help me choose roles” feature uses Gemini to figure out the right permissions

    Something goes wrong. You need to get back to good. You can build faster resolution plans with Gemini. Google Cloud Logging supports log summarization with Gemini.

    Google Cloud Logging supports log summarization with Gemini

    Ideally, you know when something goes wrong before your customers notice. Synthetic monitors are one way to solve that. We made it easy to build synthetic monitors with Gemini using natural language.

    “Help me code” option for creating synthetic monitors in Cloud Monitoring

    You don’t want to face security issues on day-2, but it happens. Gemini is part of Security Command Center where you can build search queries and summarize cases.

    Gemini can also help you build billing reports. I like this experience where I can use natural language to get answers about my spend in Cloud Billing.

    Gemini in Cloud Billing makes it easier to understand your spend

    Build supporting digital assets with Gemini

    The developer workflow isn’t just about code artifacts. Sometimes you create supporting assets for design docs, production runbooks, team presentations, and more.

    Use the Gemini app (or our other AI surfaces) to generate images. I do this all the time now!

    Image for use in a presentation is generated by Gemini

    Building slides? Writing docs? Creating spreadsheets? Gemini for Workspace gives you some help here. I use this on occasion to refine text, generate slides or images, and update tables.

    Gemini in Google Docs helps me write documents

    Maybe you’re getting bored with static image representations and want some more videos in your life? Veo 2 is frankly remarkable and might be a new tool for your presentation toolbox. Consider a case where you’re building a mobile app that helps people share cars. Maybe produce a quick video to embed in the design pitch.

    Veo 2 generating videos for use in a developer’s design pitch

    AI disrupts the traditional product development workflow. Good! Gemini is part of each stage of the new workflow, and it’s only going to get better. Consider introducing one or many of these experiences to your own way of working in 2025.

  • Daily Reading List – January 10, 2025 (#470)

    It was a good day of starting up my weekly (internal) newsletter for the year, catching up on doc reviews and email requests, and scoping out some coding projects for the weekend.

    [blog] Continuous Delivery for GKE with Cloud Deploy and Argo CD. Great example of combining the control flow of a continuous delivery tool, with the scaled and structured process of GitOps.

    [blog] Enterprise Architects: From Cartographers to Scouts. What does it mean for architects to switch their mindset and work from being cartographers (mapping out the space) to scouts (finding paths)?

    [article] Generative AI in Government: What to Expect in 2025. Good piece that stays grounded on what matters most: better service for constituents.

    [article] Are You Checked Out at Work? I like that this article isn’t about why you’re checked out. It’s about how to get yourself re-engaged.

    [article] Tech Outage. I’m with Bob here. It’s easy to throw screens at our kids, especially in public settings. But we’re better off resisting the urge. I’m taking my kids out for dinner tonight, and they bring coloring books and action figures for us to play with.

    [article] Rumors of SaaS’s death may be exaggerated. Are AI agents going to make database-driven SaaS (Salesforce, etc) unnecessary? Color me skeptical.

    [blog] How to work with open source formats on BigQuery. A good data warehouse will play with a variety of data and table formats. I thought this was a good look at what the means in practice.

    [blog] Design Patterns for Building Resilient Systems. Nothing Earth-shattering here, but that doesn’t mean this isn’t important info to refresh yourself with.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – January 9, 2025 (#469)

    My day started at 2:30am when I got up to deliver a presentation to a company in Spain. I couldn’t fall back asleep after, so Google got some bonus hours of work out of me today. In today’s reading list, you’ll find some smart content on strategy and getting better results from AI models.

    [article] Refining strategy with Wardley Mapping. I’ve tried to get into this, and never could. Probably not smart enough. But, some folks swear by this technique of understanding your strategic landscape.

    [blog] A Good Life is Active not Passive. Important point by Brad here, and one that we should all take to heart as we resist becoming passive consumers of entertainment.

    [blog] Supervised Fine Tuning for Gemini: A best practices guide. Get some good insights into the process for adding precision to existing models like Gemini.

    [article] What’s Ahead for AI-Assisted Coding, Open Source and More. Everyone’s guessing, but observing lots of guesses can still help you feel more aware of the opportunities out there.

    [blog] Monitor your Google Gemini apps with Datadog LLM Observability. As expected, software vendors are adding support for the LLMs that the market is embracing.

    [blog] What makes strong engineers strong? Solid list of four traits. Many of these would apply to most professionals in technology.

    [blog] The Last Strategy Framework You’ll Ever Need. There are plenty of frameworks for strategic planning (see the the first entry in my reading list today!). John explains a few of them, and explains why strategy is hard work.

    [blog] Introducing Vertex AI RAG Engine: Scale your Vertex AI RAG pipeline with confidence. Getting more customized and contextual responses from an LLM is valuable. Retrieval augmented generation is a pattern, but involves some machinery. We’ve just made it much easier.

    [blog] Evaluating RAG pipelines. Did you follow the previous entry here and create a RAG pipeline? Cool. How do you evaluate whether it’s the most effective combination and overall system? Mete helps you identify success measurements.

    [blog] When to Consider Building a Private Cloud: A Pragmatic Perspective. Basically, they’re a fit for certain use cases, but shouldn’t a go-to for many companies.

    [blog] Announcing Supporters of Chromium-based Browsers. I didn’t know the scale, effort, or cost of supporting a project like Chromium. Now I do, and am glad to see more folks pitching into this browser.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below: