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] 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] 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:
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] Prophecies of the Flood. Ethan talks about the conviction that AI researchers inside AI labs have about “the emergence of something unprecedented.”
[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] 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:
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)
}
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.
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
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.
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.
[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.
[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.
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] 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] 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] 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:
There are still plenty of “what’s coming in 2025” pieces coming out, and I’ll continue including the ones that catch my eye.
[article] Agents. You want eight thousand words about AI agents? Today’s your lucky day. Chip wrote a fantastic piece that goes into helpful depth on the topic.
[article] Explore vs Execute. Great essay from Jason here. What happens after you have the “fit” for a given product? What does an operational switch look like?
[youtube-video] The amazing, but unsettling future of technology… Entertaining video, as always from this source. But also a good overview of the hot tech (AI, agents, AR/VR, robotics, etc) and questions surrounding them.
Today’s reading list happens to have a lot of good material for those planning ahead. How do you avoid overcommitting? Or do a competitive analysis? Refine a strategy? Create OKRs?
[blog] How I built an agent with Pydantic AI and Google Gemini. Karl might have just saved you a few million dollars in consultant fees! He built a SWOT analysis tool using a variety of technologies (including the Gemini API).
[blog] Open Source Discussion Archetypes. You may not personally care about the OSS licensing fracas that’s going on, but somebody does. Steve looks at the groups that are intentionally or unintentionally invested.
[article] My 2025 trends predictions. Tom’s a tech writer at Google, and shares some useful thoughts on AI and how it’s going to impact his field.
[blog] How to effectively refine engineering strategy. Are you doing big strategic exercises, or doing small refinements until a strategy is “ready” for mass deployment? Will has a good post that can help you understand the problems being solved, and which tools to use.
[article] Meta is ditching third-party fact checkers. Good. However well intentioned, centralized moderators inevitably apply unhelpful bias. Community Notes is a useful approach.
[page] 2024 AI timeline. This is a cool way to view all the major LLM releases from last year. It shows both open and AI only (closed) models.
[article] Why You’re Chronically Overcommitted. This will probably resonate with most of you. I’ve fought back against this over the past few years to good effect.
[article] Google maps the future of AI agents: Five lessons for businesses. Are you clear on what agents are, and what you should be doing with them? I’m not sure I am, so you’re better off than me. But this VentureBeat story looks at a recent paper and offers direction.
[blog] Hitting OKRs vs Doing Your Job. OKRs (or however you’re capturing major goals) are for special focus, not the day to day work.
Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:
Happy New Year! I’m back with the first edition of the Reading List for 2025. I trust you took some time over this holiday break to recharge. Let’s have some fun together this year.
[article] Our Favorite Management Tips of 2024. Very good categories here, including leadership skills to develop, building executive presence, writing skills, and asking smarter questions.
[blog] Cognitive load is what matters. Excellent post that we should all take to heart. What are we doing to reduce the extraneous, unnecessary cognitive load on our peers or customers?
[blog] Go Developer Survey 2024 H2 Results. Check out the results from 4000+ Go developers. You’ll find good insights into how they’re using AI, challenges within teams, and more.
[blog] The 12 Anti-factors of Infrastructure as Code. You might be doing some of these practices and thinking you’re following the best ideas. Brian pushes back on some mainstream practices.
[blog] The PyTorch developer’s guide to JAX fundamentals. If you love PyTorch, use PyTorch. If you’re intrigued by the performance and ecosystem of JAX, this post will help you map some of the familiar concepts.
[blog] Open ML News – Holidays Edition. My daily summaries are often fed by other people’s aggregated summaries. Omar recaps some of the most interesting open model news.
I might have learned more in 2024 than any previous year of my life. I learned so much about parenting, friendship, leadership, technology, myself, and the world around me. Some were hard lessons, others easy, but all useful.
For the seventeenth straight year, I’m writing up a recap of annual highlights, including recaps of the few dozen books I finished.
Things I Wrote (or Said)
I maintained my daily reading list, with 226 entries in 2024. I’ll plan on keeping it up in 2025, as it’s proving useful in helping me stay up to date on what matters and I like sharing what I learn.
In 2024, I also had the pleasure of co-writing and co-delivering the Google Cloud Next developer keynote.
At the start of 2024, I took over writing the weekly “Overwhelmed Person’s Guide to Google Cloud” newsletter which goes to hundreds of thousands of folks each week before being posted on our blog. This year, I may bring in more guest editors to share the load!
For the past four years, I’ve also written a weekly internal Google Cloud newsletter. This year I added another 69,000 words over 40+ editions.
In terms of public blog posts, these were a few I was particularly pleased with:
I finished 43 books last year, across a wide range of topics. The items I choose come from recommendations, references in other books I read, or even just randomly browsing the Kindle store. Here are some of my favorites.
The Eighth Wonder of the World: The True Story of André the Giant by Bertrand Hébert and Pat Laprade. Andre the Giant had a wild life. I loved watching wrestling as a kid, and knew him as a baddie. This book offered up a wonderful look at his life and impact. Seemed like a sweet guy!
Nothing Like It In the World: The Men Who Built the Transcontinental Railroadby Stephen E. Ambrose. Surprisingly, this was one of my favorite books of the year. I accompanied my daughter on a field trip to Sacramento to learn more about early California. That resulted in me picking up this book. Maybe the greatest achievement of the 19th century? Amazing work.
Traffic: Why We Drive the Way We Doby Tom Vanderbilt. We spend a lot of time in our cars. It’s the most complex thing most of us do every day, without realizing it. This book explores some of the psychology of driving, along with lots of fun examples from around the world.
Genghis: Bones of the Hills: A Novel (Conqueror series Book 3) by Conn Iggulden. The first three books in this series were outstanding. I’m still hooked on historical fiction, and this one gives a page-turning look at the Mongol army of Genghis Khan.
Pacific Crucible: War at Sea in the Pacific, 1941-1942 (Vol. 1)by Ian W. Toll. Someone recommended this series to me after last year’s annual recap. i’m glad they did. SO GOOD. This was some of the best content on the Pacific front of WW II I’ve ever read. This period covers Pearl Harbor through Midway. Engaging and informative.
The Conquering Tide: War in the Pacific Islands, 1942-1944 (Vol. 2) by Ian W. Toll. Here’s the second one in the series which picked up as the Allies fought the Japanese island-by-island. This was just as compelling as the first. I’ve already started reading the 3rd and final book in the series.
Quarterdeck by Julian Stockwin. I’ve kept up with this series of books about seafaring in the 19th century. This was another good one, and I enjoy the characters, the locations, and the rich plots. I also recognize that I would have someone died four minutes into one of these journeys.
The Good Shepherd by C. S. Forester. Wow, I actually didn’t realize this was historical fiction until I was a quarter of the way into the book. What a tense, enjoyable read about a convoy of ships trying to cross the Atlantic while avoiding U-Boats.
The Princess Bride by William Goldman. You know the movie. Have you read the book? I had not. You won’t be disappointed. It differs slightly from the movie, but the characters are all there, and the story itself is well told.
The Long Haul: A Trucker’s Tales of Life on the Road by Finn Murphy. I’ve often thought that “mover” would be the worst job I could have. All that work, and then you don’t get to enjoy it? No thanks. But I changed my mind after reading this. Murphy talks about long-haul trucking and his life moving people around the country. Great read.
150 Most Famous Poems by Poetry House. I didn’t read a lot of poetry in school. So, I figured I should get all cultured and invest some time. This book featured poems by many of the greats, and I’m better for having read it.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow by Aurélien Géron. Many of us are still in continuous-learning mode, so I’m not going to resign myself to superficial knowledge of key topics. This book was dense with a lot of math, but it also helped me understand some fundamentals about machine learning that will make me more dangerous now.
Hillbilly Elegy: A Memoir of a Family and Culture in Crisis by J. D. Vance. These next four books are all about different starting points. Vance did something “ordinary”—graduating school, going to college, getting a professional job—which was an accomplishment in itself given kids like him. Inspiring story.
The Last Shot: City Streets, Basketball Dreams by Darcy Frey. This book is thirty years old, and follows three New York kids in their senior year as they hope to escape Coney Island and get four-year scholarships to college. Each of these kids faced tough circumstances and long odds.
Hetty: The Genius and Madness of America’s First Female Tycoon by Charles Slack. What a story. Hetty Green was financially “set” as soon as she was born, but took what she had and made something remarkable with it. She was an eccentric person who lived life on her own terms while becoming a bigtime player in the all-male world of finance in the late 1800s.
Sales Pitch: How to Craft a Story to Stand Out and Win by April Dunford. The best business-y book I read this year. Dunford does a fantastic job explaining what a good sales pitch looks like, and how to properly guide buyers to where they want to go.
Widow’s Walk (Spenser Book 29) by Robert B. Parker. Here’s another series I can’t stop reading. Spenser is my favorite gumshoe, and I’ve enjoyed each one of these tales. If you like fast-paced crime novels, check these out.
The Pursuit of God: The Human Thirst for the Divine by A. W. Tozer. I’ve heard of Tozer, but had never read any of his books. I corrected that mistake this year. Wow. He’s a powerful writer. This is a short-ish, but wonderful read about longing for God and hearing from Him.
The Neverending Story by Michael Ende. Maybe my favorite movie as a kid? I picked up the book, and was … surprised. The movie is the first half of the book, and even then, not the exact same. And the second half of the book was something else entirely. All very good and entertaining, but unexpected!
Survive, Reset, Thrive: Leading Breakthrough Growth Strategy in Volatile Times by Rebecca Homkes. My second favorite business-y book? Instead of looking at uncertainty and change as negatives, Homkes encourages us to rethink our approach to strategy and execution. This “survive, reset, thrive” model is one I’ll refer back to.
The Ministry of Ungentlemanly Warfare by Damien Lewis. A contender for my favorite book of the year. I saw the movie, which factored in just one of the stories from this book. The accounts of this WW2 band of raiders are exciting, courageous, reckless, and improbable.
That’s a wrap on 2024 for me. I cleared out the reading queue, which should hold you over for a few days. I’ll keep reading things and occasionally posting on X/Twitter, but I’m generally taking off the next two weeks. See you back on the Reading List on January 6th, and THANK YOU for reading.
[blog] Spanner in 2024: A year of innovation. Spanner might be the best database in the cloud, and with its multi-model nature, you can now do so much—full text search! vector search! graph!—at once.
[blog] What just happened. Many of us are asking the same question. December was a breakthrough month in AI with the entire landscape shifting. We shipped an absolute ton.
[blog] December in LLMs has been a lot. It has. Across a wide range of dimensions, AI looks drastically different in the market than just a few months ago.
[blog] AlloyDB Omni and local models on GKE. Great walkthrough of co-locating a model and a database in the same Kubernetes cluster, without sacrificing much.
[article] Comparing PyTorch and JAX. Both are great. JAX has a lot of fans, and many more added themselves to the list in 2024. Learn more about both here.
[blog] Ends & Means. Bob explores this “ends justify the means” philosophy, and reminds us to consider if our well-intentioned means are actually causing bad outcomes.