[{"id":"116767157944955741","created_at":"2026-06-17T19:43:52.509Z","in_reply_to_id":null,"in_reply_to_account_id":"109558647686544582","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116767157944955741","url":"https://uwyn.net/@glaforge/116767157944955741","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://alpaca.gold/@seldo\" class=\"u-url mention\"\u003e@\u003cspan\u003eseldo\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e But what if you have a cat?\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[{"id":"109558647686544582","username":"seldo","url":"https://alpaca.gold/@seldo","acct":"seldo@alpaca.gold"}],"tags":[],"emojis":[],"card":null,"poll":null},{"id":"116761215297609717","created_at":"2026-06-16T18:32:34.910Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116761215297609717","url":"https://uwyn.net/@glaforge/116761215297609717","replies_count":0,"reblogs_count":2,"favourites_count":1,"edited_at":null,"content":"\u003cp\u003e\u003ca href=\"https://uwyn.net/tags/JetBrains\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJetBrains\u003c/span\u003e\u003c/a\u003e is running a developer ecosystem survey:\u003cbr /\u003e\u003ca href=\"https://surveys.jetbrains.com/s3/developer-ecosystem-survey-2026-sh?pcode=520521539819398477\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003esurveys.jetbrains.com/s3/devel\u003c/span\u003e\u003cspan class=\"invisible\"\u003eoper-ecosystem-survey-2026-sh?pcode=520521539819398477\u003c/span\u003e\u003c/a\u003e\u003cbr /\u003eLots of questions, with some interesting ones.\u003cbr /\u003eI\u0026#39;m curious to know the results of this survey.\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[{"name":"jetbrains","url":"https://uwyn.net/tags/jetbrains"}],"emojis":[],"card":{"url":"https://surveys.jetbrains.com/s3/developer-ecosystem-survey-2026-sh?pcode=520521539819398477","title":"Developer Ecosystem Survey 2026","description":"Calling all developers, coders, and AI enthusiasts!","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":0,"height":0,"image":null,"image_description":"","embed_url":"","blurhash":null,"published_at":null,"authors":[]},"poll":null},{"id":"116709675361538387","created_at":"2026-06-07T16:05:17.895Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116709675361538387","url":"https://uwyn.net/@glaforge/116709675361538387","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003e💡You can customize the terminal title, and the status line of \u003ca href=\"https://uwyn.net/tags/Antigravity\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eAntigravity\u003c/span\u003e\u003c/a\u003e CLI\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/06/07/customizing-antigravity-cli-title-and-statusline/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/06/07/\u003c/span\u003e\u003cspan class=\"invisible\"\u003ecustomizing-antigravity-cli-title-and-statusline/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[{"name":"antigravity","url":"https://uwyn.net/tags/antigravity"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/06/07/customizing-antigravity-cli-title-and-statusline/","title":"Customizing Antigravity CLI: Title and Status Line","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1024,"height":512,"image":null,"image_description":"","embed_url":"","blurhash":"U371l_tR4mwb?bxsRioIIUxD?cXTxts.oMR,","published_at":null,"authors":[]},"poll":null},{"id":"116657810049676564","created_at":"2026-05-29T12:15:16.040Z","in_reply_to_id":"116657556227080070","in_reply_to_account_id":"109314675907601286","sensitive":false,"spoiler_text":"","visibility":"public","language":"fr","uri":"https://uwyn.net/users/glaforge/statuses/116657810049676564","url":"https://uwyn.net/@glaforge/116657810049676564","replies_count":0,"reblogs_count":1,"favourites_count":1,"edited_at":null,"content":"\u003cp\u003eVous retrouverez les slides de la présentation ici :\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/talks/2026/05/18/agentic-design-patterns/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/talks/2026/05/18/\u003c/span\u003e\u003cspan class=\"invisible\"\u003eagentic-design-patterns/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":{"url":"https://glaforge.dev/talks/2026/05/18/agentic-design-patterns/","title":"Agentic Design Patterns","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":0,"height":0,"image":null,"image_description":"","embed_url":"","blurhash":null,"published_at":null,"authors":[]},"poll":null},{"id":"116657556227080070","created_at":"2026-05-29T11:10:43.016Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"fr","uri":"https://uwyn.net/users/glaforge/statuses/116657556227080070","url":"https://uwyn.net/@glaforge/116657556227080070","replies_count":1,"reblogs_count":0,"favourites_count":1,"edited_at":null,"content":"\u003cp\u003eJ\u0026#39;ai eu le plaisir de participer au meetup \u003ca href=\"https://uwyn.net/tags/devwithai\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003edevwithai\u003c/span\u003e\u003c/a\u003e à Paris hier soir, où j\u0026#39;ai peu dérouler une présentation sur le thème des 𝗱𝗲𝘀𝗶𝗴𝗻 𝗽𝗮𝘁𝘁𝗲𝗿𝗻𝘀 𝗮𝗴𝗲𝗻𝘁𝗶𝗾𝘂𝗲𝘀.\u003c/p\u003e\u003cp\u003eLa vidéo est déjà dispo !\u003cbr /\u003e\u003ca href=\"https://www.youtube.com/watch?v=ARR7DVy9_oQ\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eyoutube.com/watch?v=ARR7DVy9_o\u003c/span\u003e\u003cspan class=\"invisible\"\u003eQ\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[{"name":"devwithai","url":"https://uwyn.net/tags/devwithai"}],"emojis":[],"card":{"url":"https://www.youtube.com/watch?v=ARR7DVy9_oQ","title":"Guillaume Laforge - Les Design Patterns Agentiques","description":"","language":null,"type":"video","author_name":"Dev With AI","author_url":"https://www.youtube.com/@DevWithAIYoutube","provider_name":"YouTube","provider_url":"https://www.youtube.com/","html":"\u003ciframe width=\"200\" height=\"113\" src=\"https://www.youtube.com/embed/ARR7DVy9_oQ?feature=oembed\" frameborder=\"0\" allowfullscreen=\"\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-forms\"\u003e\u003c/iframe\u003e","width":200,"height":113,"image":null,"image_description":"","embed_url":"","blurhash":"U$Op#?M{WBofjbWCWBWC00t7j@ayoeoft6of","published_at":null,"authors":[{"name":"Dev With AI","url":"https://www.youtube.com/@DevWithAIYoutube","account":null}]},"poll":null},{"id":"116617457607218931","created_at":"2026-05-22T09:13:06.634Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116617457607218931","url":"https://uwyn.net/@glaforge/116617457607218931","replies_count":0,"reblogs_count":2,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003eNew \u003ca href=\"https://uwyn.net/tags/MCP\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eMCP\u003c/span\u003e\u003c/a\u003e spec coming this summer🚀\u003c/p\u003e\u003cp\u003e👉 Stateless core that scales on standard HTTP\u003cbr /\u003e👉 1st-class extensions (ex. server-rendered UIs \u0026amp; Tasks)\u003cbr /\u003e👉 Hardens authorization\u003cbr /\u003e👉 Formal deprecation policy for smoother evolution\u003c/p\u003e\u003cp\u003eFinal spec lands July 28\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eblog.modelcontextprotocol.io/p\u003c/span\u003e\u003cspan class=\"invisible\"\u003eosts/2026-07-28-release-candidate/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116617457530882539","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/617/457/530/882/539/original/af06e7270d4e8122.jpg","preview_url":"https://uwyn.net/system/media_attachments/files/116/617/457/530/882/539/small/af06e7270d4e8122.jpg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":2752,"height":1536,"size":"2752x1536","aspect":1.7916666666666667},"small":{"width":642,"height":358,"size":"642x358","aspect":1.7932960893854748}},"description":null,"blurhash":"U9P%OvXT-?s;^%sV.AWEs~xt%OodOPWB%5t6"}],"mentions":[],"tags":[{"name":"mcp","url":"https://uwyn.net/tags/mcp"}],"emojis":[],"card":{"url":"https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/","title":"The 2026-07-28 MCP Specification Release Candidate","description":"The release candidate for the next Model Context Protocol (MCP) specification is now available: a stateless protocol core, the Extensions framework, Tasks, MCP Apps, authorization hardening, and a formal deprecation policy.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"Model Context Protocol Blog","provider_url":"","html":"","width":1200,"height":675,"image":null,"image_description":"","embed_url":"","blurhash":"U55q^kt7IUayfQj[j[fQ00Rj%Mj[j[ayayj[","published_at":"2026-05-21T09:00:00.000Z","authors":[]},"poll":null},{"id":"116614199784320587","created_at":"2026-05-21T19:24:36.203Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116614199784320587","url":"https://uwyn.net/@glaforge/116614199784320587","replies_count":0,"reblogs_count":1,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003eHow to create, deploy \u0026amp; invoke your own managed agents (announced at I/0 by \u003ca href=\"https://uwyn.net/tags/DeepMind\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eDeepMind\u003c/span\u003e\u003c/a\u003e) via the \u003ca href=\"https://uwyn.net/tags/Gemini\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eGemini\u003c/span\u003e\u003c/a\u003e Interactions API, using \u003ca href=\"https://uwyn.net/tags/Java\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJava\u003c/span\u003e\u003c/a\u003e!\u003c/p\u003e\u003cp\u003eI this article, I deployed an agent to analyze \u003ca href=\"https://uwyn.net/tags/GitHub\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eGitHub\u003c/span\u003e\u003c/a\u003e repositories.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/05/21/managed-agents-with-the-gemini-interactions-java-sdk/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/05/21/\u003c/span\u003e\u003cspan class=\"invisible\"\u003emanaged-agents-with-the-gemini-interactions-java-sdk/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[{"name":"deepmind","url":"https://uwyn.net/tags/deepmind"},{"name":"gemini","url":"https://uwyn.net/tags/gemini"},{"name":"java","url":"https://uwyn.net/tags/java"},{"name":"github","url":"https://uwyn.net/tags/github"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/05/21/managed-agents-with-the-gemini-interactions-java-sdk/","title":"Managed AI Agents with the Gemini Interactions Java SDK","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1376,"height":768,"image":null,"image_description":"","embed_url":"","blurhash":"UEPQBCaM_NxwxWE1xZx]o$tQRjWAkE%0o#Mx","published_at":null,"authors":[]},"poll":null},{"id":"116613655240639090","created_at":"2026-05-21T17:06:07.125Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116613655240639090","url":"https://uwyn.net/@glaforge/116613655240639090","replies_count":0,"reblogs_count":1,"favourites_count":1,"edited_at":null,"content":"\u003cp\u003eAnother \u003ca href=\"https://uwyn.net/tags/ADK\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eADK\u003c/span\u003e\u003c/a\u003e runtime in the family, with ADK for \u003ca href=\"https://uwyn.net/tags/kotlin\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ekotlin\u003c/span\u003e\u003c/a\u003e and \u003ca href=\"https://uwyn.net/tags/Android\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eAndroid\u003c/span\u003e\u003c/a\u003e  🤖 which allows you to add \u003ca href=\"https://uwyn.net/tags/LLM\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eLLM\u003c/span\u003e\u003c/a\u003e powered agents in your mobile apps.\u003c/p\u003e\u003cp\u003eIn this article, I\u0026#39;m showing how to proceed, with a \u0026quot;fun facts\u0026quot; agent in a chat app:\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/05/21/wiring-adk-kotlin-agents-in-an-android-application/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/05/21/\u003c/span\u003e\u003cspan class=\"invisible\"\u003ewiring-adk-kotlin-agents-in-an-android-application/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116613655102333963","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/613/655/102/333/963/original/06e493b65c159f50.png","preview_url":"https://uwyn.net/system/media_attachments/files/116/613/655/102/333/963/small/06e493b65c159f50.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":2847,"height":1522,"size":"2847x1522","aspect":1.8705650459921157},"small":{"width":656,"height":351,"size":"656x351","aspect":1.868945868945869}},"description":null,"blurhash":"UUB3.|00?If6WBofayj[IUxuRjj[axj]ayay"}],"mentions":[],"tags":[{"name":"adk","url":"https://uwyn.net/tags/adk"},{"name":"kotlin","url":"https://uwyn.net/tags/kotlin"},{"name":"android","url":"https://uwyn.net/tags/android"},{"name":"llm","url":"https://uwyn.net/tags/llm"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/05/21/wiring-adk-kotlin-agents-in-an-android-application/","title":"Wiring ADK Kotlin agents in an Android application","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1578,"height":988,"image":null,"image_description":"","embed_url":"","blurhash":"U9QmF+9FIo-:DkD*Iot7_MWG%3Rj~pozaeM{","published_at":null,"authors":[]},"poll":null},{"id":"116520975359984321","created_at":"2026-05-05T08:16:24.375Z","in_reply_to_id":null,"in_reply_to_account_id":"111097170856285902","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"fr","uri":"https://uwyn.net/users/glaforge/statuses/116520975359984321","url":"https://uwyn.net/@glaforge/116520975359984321","replies_count":1,"reblogs_count":0,"favourites_count":1,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://poils.pachyderme.net/@cadmos\" class=\"u-url mention\"\u003e@\u003cspan\u003ecadmos\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e Google I/O approche à grands pas 😉\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[{"id":"111097170856285902","username":"cadmos","url":"https://poils.pachyderme.net/@cadmos","acct":"cadmos@poils.pachyderme.net"}],"tags":[],"emojis":[],"card":null,"poll":null},{"id":"116414910941451834","created_at":"2026-04-16T14:42:49.787Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116414910941451834","url":"https://uwyn.net/@glaforge/116414910941451834","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":"2026-04-16T14:50:25.619Z","content":"\u003cp\u003eThe new \u003ca href=\"https://uwyn.net/tags/Gemini\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eGemini\u003c/span\u003e\u003c/a\u003e 3.1 Text-to-Speech is pretty expressive! You can tune voices and intonation with audio tags and scene descriptions.\u003c/p\u003e\u003cp\u003eI played with it, via my Gemini Interactions SDK in \u003ca href=\"https://uwyn.net/tags/java\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ejava\u003c/span\u003e\u003c/a\u003e \u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/04/16/streaming-gemini-3-1-expressive-new-tts-model-in-java/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/04/16/\u003c/span\u003e\u003cspan class=\"invisible\"\u003estreaming-gemini-3-1-expressive-new-tts-model-in-java/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116414940540914105","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/414/940/540/914/105/original/61d98383d2d52dbd.jpg","preview_url":"https://uwyn.net/system/media_attachments/files/116/414/940/540/914/105/small/61d98383d2d52dbd.jpg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1376,"height":768,"size":"1376x768","aspect":1.7916666666666667},"small":{"width":642,"height":358,"size":"642x358","aspect":1.7932960893854748}},"description":null,"blurhash":"UJGl-XD*IqROtRIV-;M_E1Ip-pNI~WaJMxN_"}],"mentions":[],"tags":[{"name":"gemini","url":"https://uwyn.net/tags/gemini"},{"name":"java","url":"https://uwyn.net/tags/java"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/04/16/streaming-gemini-3-1-expressive-new-tts-model-in-java/","title":"Streaming Gemini 3.1's expressive new TTS model in Java","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1024,"height":572,"image":null,"image_description":"","embed_url":"","blurhash":"UJH2~5D*IpRNtRE2-;M_E1IV-pNI~pemMxN{","published_at":null,"authors":[]},"poll":null},{"id":"116391531908897453","created_at":"2026-04-12T11:37:14.062Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116391531908897453","url":"https://uwyn.net/@glaforge/116391531908897453","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":"2026-04-12T11:38:14.189Z","content":"\u003cp\u003e💭 Inspired by \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://mastodon.social/@maxandersen\" class=\"u-url mention\"\u003e@\u003cspan\u003emaxandersen\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I forked my own little 🤖 𝗻𝗮𝗻𝗼𝗰𝗼𝗱𝗲 𝗰𝗼𝗱𝗶𝗻𝗴 𝗮𝗴𝗲𝗻𝘁 but using \u003ca href=\"https://uwyn.net/tags/langchain4j\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003elangchain4j\u003c/span\u003e\u003c/a\u003e  ➕ \u003ca href=\"https://uwyn.net/tags/gemini\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003egemini\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e2 approaches:\u003cbr /\u003e1️⃣  AI service w/ all tools\u003cbr /\u003e2️⃣  multi-agent w/ specialized tools\u003c/p\u003e\u003cp\u003eBonus: Web search \u0026amp; Markdown rendering\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/04/11/a-simple-coding-agent-in-a-loop-with-langchain4j-jbang-and-gemini/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/04/11/\u003c/span\u003e\u003cspan class=\"invisible\"\u003ea-simple-coding-agent-in-a-loop-with-langchain4j-jbang-and-gemini/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[{"id":"109310053964924077","username":"maxandersen","url":"https://mastodon.social/@maxandersen","acct":"maxandersen@mastodon.social"}],"tags":[{"name":"langchain4j","url":"https://uwyn.net/tags/langchain4j"},{"name":"gemini","url":"https://uwyn.net/tags/gemini"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/04/11/a-simple-coding-agent-in-a-loop-with-langchain4j-jbang-and-gemini/","title":"A Simple Coding Agent in a Loop with LangChain4j, Jbang, and Gemini","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1600,"height":983,"image":null,"image_description":"","embed_url":"","blurhash":"U25OT:?vt8ozM_ozkDkC~q-;WEWCM{f+f+bb","published_at":null,"authors":[]},"poll":null},{"id":"116364071969863394","created_at":"2026-04-07T15:13:48.642Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116364071969863394","url":"https://uwyn.net/@glaforge/116364071969863394","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003eThe open source ADK agent framework has a new URL and a refreshed homepage!\u003cbr /\u003e\u003ca href=\"https://adk.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadk.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":{"url":"https://adk.dev/","title":"Agent Development Kit (ADK)","description":"Build powerful multi-agent systems with Agent Development Kit (ADK)","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1200,"height":630,"image":null,"image_description":"","embed_url":"","blurhash":"U7S~x5jbxuofoza}azju~qkBM{j?smo0oea{","published_at":null,"authors":[]},"poll":null},{"id":"116351445986827261","created_at":"2026-04-05T09:42:51.429Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116351445986827261","url":"https://uwyn.net/@glaforge/116351445986827261","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003eThe components of a coding agent by Sebastian Raschka\u003cbr /\u003e\u003ca href=\"https://magazine.sebastianraschka.com/p/components-of-a-coding-agent\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emagazine.sebastianraschka.com/\u003c/span\u003e\u003cspan class=\"invisible\"\u003ep/components-of-a-coding-agent\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116351445373891720","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/351/445/373/891/720/original/f362858f0e20adc1.jpg","preview_url":"https://uwyn.net/system/media_attachments/files/116/351/445/373/891/720/small/f362858f0e20adc1.jpg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1408,"height":768,"size":"1408x768","aspect":1.8333333333333333},"small":{"width":650,"height":355,"size":"650x355","aspect":1.8309859154929577}},"description":null,"blurhash":"U4PQ4=s+}]RE=w%#oRn#~LkBp1R7?cN3w6iv"}],"mentions":[],"tags":[],"emojis":[],"card":{"url":"https://magazine.sebastianraschka.com/p/components-of-a-coding-agent","title":"Components of A Coding Agent","description":"How coding agents use tools, memory, and repo context to make LLMs work better in practice","language":"en","type":"link","author_name":"Sebastian Raschka, PhD","author_url":"https://substack.com/@rasbt","provider_name":"Ahead of AI","provider_url":"","html":"","width":1200,"height":675,"image":null,"image_description":"","embed_url":"","blurhash":"UyOWvmbF~qWB9FjZ%Nfk%gazM{oft7a{RjjZ","published_at":"2026-04-04T11:45:37.000Z","authors":[{"name":"Sebastian Raschka, PhD","url":"https://substack.com/@rasbt","account":null}]},"poll":null},{"id":"116334419602760413","created_at":"2026-04-02T09:32:49.427Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116334419602760413","url":"https://uwyn.net/@glaforge/116334419602760413","replies_count":1,"reblogs_count":2,"favourites_count":2,"edited_at":null,"content":"\u003cp\u003eIt still amazes me how easy \u0026amp; fast it is to create \u003ca href=\"https://uwyn.net/tags/MCP\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eMCP\u003c/span\u003e\u003c/a\u003e servers in \u003ca href=\"https://uwyn.net/tags/Java\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJava\u003c/span\u003e\u003c/a\u003e with \u003ca href=\"https://uwyn.net/tags/jbang\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ejbang\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://uwyn.net/tags/langchain4j\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003elangchain4j\u003c/span\u003e\u003c/a\u003e and a custom skill inside \u003ca href=\"https://uwyn.net/tags/geminicli\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003egeminicli\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003eA handful of prompts, and less than 5 minutes later, I had created a working \u003ca href=\"https://uwyn.net/tags/Wikipedia\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWikipedia\u003c/span\u003e\u003c/a\u003e MCP server!\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/04/02/creating-a-wikipedia-mcp-server-in-java-in-a-few-prompts/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/04/02/\u003c/span\u003e\u003cspan class=\"invisible\"\u003ecreating-a-wikipedia-mcp-server-in-java-in-a-few-prompts/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[{"name":"mcp","url":"https://uwyn.net/tags/mcp"},{"name":"java","url":"https://uwyn.net/tags/java"},{"name":"jbang","url":"https://uwyn.net/tags/jbang"},{"name":"langchain4j","url":"https://uwyn.net/tags/langchain4j"},{"name":"geminicli","url":"https://uwyn.net/tags/geminicli"},{"name":"wikipedia","url":"https://uwyn.net/tags/wikipedia"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/04/02/creating-a-wikipedia-mcp-server-in-java-in-a-few-prompts/","title":"Creating a Wikipedia MCP Server in Java in a Few Prompts with Skills","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1331,"height":669,"image":null,"image_description":"","embed_url":"","blurhash":"U8Q]ybIE?dk=%fRiV=enXli_SHR$-+b]t9w#","published_at":null,"authors":[]},"poll":null},{"id":"116295628025813068","created_at":"2026-03-26T13:07:36.937Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116295628025813068","url":"https://uwyn.net/@glaforge/116295628025813068","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003e🎸Generate audio clips \u0026amp; full songs in \u003ca href=\"https://uwyn.net/tags/Java\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJava\u003c/span\u003e\u003c/a\u003e with the new \u003ca href=\"https://uwyn.net/tags/Lyria3\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eLyria3\u003c/span\u003e\u003c/a\u003e generative model, using my \u003ca href=\"https://uwyn.net/tags/Gemini\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eGemini\u003c/span\u003e\u003c/a\u003e Interactions Java SDK 🎶\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/03/25/generating-music-with-lyria-3-and-the-gemini-interactions-java-sdk/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/03/25/\u003c/span\u003e\u003cspan class=\"invisible\"\u003egenerating-music-with-lyria-3-and-the-gemini-interactions-java-sdk/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116295626851657406","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/295/626/851/657/406/original/a99436d554090c12.png","preview_url":"https://uwyn.net/system/media_attachments/files/116/295/626/851/657/406/small/a99436d554090c12.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1864,"height":972,"size":"1864x972","aspect":1.9176954732510287},"small":{"width":665,"height":347,"size":"665x347","aspect":1.9164265129682998},"focus":{"x":-0.5,"y":0.43}},"description":"Code snippet showing how to invoke the Lyria model to generate songs in Java","blurhash":"U8R:KO00?Hs:01M{WBj?%2xut7WBRPRPR*Rj"}],"mentions":[],"tags":[{"name":"java","url":"https://uwyn.net/tags/java"},{"name":"lyria3","url":"https://uwyn.net/tags/lyria3"},{"name":"gemini","url":"https://uwyn.net/tags/gemini"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/03/25/generating-music-with-lyria-3-and-the-gemini-interactions-java-sdk/","title":"Generating music with Lyria 3 and the Gemini Interactions Java SDK","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1024,"height":512,"image":null,"image_description":"","embed_url":"","blurhash":"UPJ%L9D*IA~U%fMxxC%Mo}i^R+XTRkV[RkbI","published_at":null,"authors":[]},"poll":null},{"id":"116273950384497266","created_at":"2026-03-22T17:14:42.382Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116273950384497266","url":"https://uwyn.net/@glaforge/116273950384497266","replies_count":0,"reblogs_count":1,"favourites_count":2,"edited_at":null,"content":"\u003cp\u003eI created a small \u003ca href=\"https://uwyn.net/tags/Java\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJava\u003c/span\u003e\u003c/a\u003e library to extract \u003ca href=\"https://uwyn.net/tags/JSON\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJSON\u003c/span\u003e\u003c/a\u003e structures from chatty \u003ca href=\"https://uwyn.net/tags/LLM\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eLLM\u003c/span\u003e\u003c/a\u003e outputs that don\u0026#39;t always output pure JSON\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://glaforge.dev/posts/2026/03/22/extracting-json-from-llm-chatter-with-jsonspotter/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/03/22/\u003c/span\u003e\u003cspan class=\"invisible\"\u003eextracting-json-from-llm-chatter-with-jsonspotter/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[],"mentions":[],"tags":[{"name":"java","url":"https://uwyn.net/tags/java"},{"name":"json","url":"https://uwyn.net/tags/json"},{"name":"llm","url":"https://uwyn.net/tags/llm"}],"emojis":[],"card":{"url":"https://glaforge.dev/posts/2026/03/22/extracting-json-from-llm-chatter-with-jsonspotter/","title":"Extracting JSON from LLM chatter with JsonSpotter","description":"Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1024,"height":512,"image":null,"image_description":"","embed_url":"","blurhash":"UDQ]+r$+.AabWSRnxuWT%ebFxdtPaTbWk6n-","published_at":null,"authors":[]},"poll":null},{"id":"116258193967163886","created_at":"2026-03-19T22:27:38.533Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116258193967163886","url":"https://uwyn.net/@glaforge/116258193967163886","replies_count":0,"reblogs_count":0,"favourites_count":1,"edited_at":null,"content":"\u003cp\u003e📢 Just released v0.8.0 of my \u003ca href=\"https://uwyn.net/tags/Gemini\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eGemini\u003c/span\u003e\u003c/a\u003e Interactions API for \u003ca href=\"https://uwyn.net/tags/Java\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJava\u003c/span\u003e\u003c/a\u003e, with a new tool: Google Maps 🗺️\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://github.com/glaforge/gemini-interactions-api-sdk?tab=readme-ov-file#built-in-tools-google-maps\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003egithub.com/glaforge/gemini-int\u003c/span\u003e\u003cspan class=\"invisible\"\u003eeractions-api-sdk?tab=readme-ov-file#built-in-tools-google-maps\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116258192260016061","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/258/192/260/016/061/original/596d900eba862d90.png","preview_url":"https://uwyn.net/system/media_attachments/files/116/258/192/260/016/061/small/596d900eba862d90.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":894,"height":365,"size":"894x365","aspect":2.4493150684931506},"small":{"width":751,"height":307,"size":"751x307","aspect":2.446254071661238},"focus":{"x":-0.6,"y":0.04}},"description":"Snippet of code showing how to configure the Google Maps tool with the Gemini Interactions API for Java","blurhash":"U7Ryvq00ayxuRjRjf8t7%2Rja_oe?bt7Rjj["}],"mentions":[],"tags":[{"name":"gemini","url":"https://uwyn.net/tags/gemini"},{"name":"java","url":"https://uwyn.net/tags/java"}],"emojis":[],"card":{"url":"https://github.com/glaforge/gemini-interactions-api-sdk?tab=readme-ov-file#built-in-tools-google-maps","title":"GitHub - glaforge/gemini-interactions-api-sdk: Java implementation of the Gemini Interactions API","description":"Java implementation of the Gemini Interactions API - glaforge/gemini-interactions-api-sdk","language":"en","type":"link","author_name":"","author_url":"","provider_name":"GitHub","provider_url":"","html":"","width":0,"height":0,"image":null,"image_description":"Java implementation of the Gemini Interactions API - glaforge/gemini-interactions-api-sdk","embed_url":"","blurhash":"URR{uw%LM{xuR:tQRQt7V?V@ofae_NRQt7Rj","published_at":null,"authors":[]},"poll":null},{"id":"116198236727725377","created_at":"2026-03-09T08:19:43.663Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116198236727725377","url":"https://uwyn.net/@glaforge/116198236727725377","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"content":"\u003cp\u003eFixing \u003ca href=\"https://uwyn.net/tags/AISlop\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eAISlop\u003c/span\u003e\u003c/a\u003e with a \u003ca href=\"https://uwyn.net/tags/SKILL\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eSKILL\u003c/span\u003e\u003c/a\u003e.md in \u003ca href=\"https://uwyn.net/tags/geminicli\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003egeminicli\u003c/span\u003e\u003c/a\u003e  \u003c/p\u003e\u003cp\u003eWell, at least, removing as much sloppiness as possible from AI generated text! And making it more human-readable ☺️\u003c/p\u003e\u003cp\u003eInspired by the awesome \u003ca href=\"https://tropes.fyi/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etropes.fyi/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003eExplanations and skill:\u003cbr /\u003e\u003ca href=\"https://glaforge.dev/posts/2026/03/08/fixing-ai-slop-with-a-skill-in-gemini-cli/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eglaforge.dev/posts/2026/03/08/\u003c/span\u003e\u003cspan class=\"invisible\"\u003efixing-ai-slop-with-a-skill-in-gemini-cli/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116198234788490537","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/198/234/788/490/537/original/508a2bacedaf35f7.jpg","preview_url":"https://uwyn.net/system/media_attachments/files/116/198/234/788/490/537/small/508a2bacedaf35f7.jpg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1376,"height":768,"size":"1376x768","aspect":1.7916666666666667},"small":{"width":642,"height":358,"size":"642x358","aspect":1.7932960893854748}},"description":null,"blurhash":"UGHVYL4U%K%M?uNbVrxur=ozofoejZRQt6Rk"}],"mentions":[],"tags":[{"name":"aislop","url":"https://uwyn.net/tags/aislop"},{"name":"skill","url":"https://uwyn.net/tags/skill"},{"name":"geminicli","url":"https://uwyn.net/tags/geminicli"}],"emojis":[],"card":{"url":"https://tropes.fyi/","title":"Tropes - AI Writing Pattern Directory","description":"The definitive reference for identifying AI writing patterns. Learn to spot the tropes that give away AI-generated text.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":0,"height":0,"image":null,"image_description":"","embed_url":"","blurhash":null,"published_at":null,"authors":[]},"poll":null},{"id":"116190037344666267","created_at":"2026-03-07T21:34:31.006Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116190037344666267","url":"https://uwyn.net/@glaforge/116190037344666267","replies_count":0,"reblogs_count":0,"favourites_count":2,"edited_at":null,"content":"\u003cp\u003eNot being a native English speaker I miss some vocabulary. I wanted to know the words describing the elements of a comic book. \u003c/p\u003e\u003cp\u003eMy friend @NanoBanana came to the rescue! I asked:\u003c/p\u003e\u003cp\u003e\u0026quot;Create an illustration describing the various elements of a comic page (panels, bubbles, etc)\u0026quot;\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116190037177963470","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/190/037/177/963/470/original/df8445db306b0cc8.jpg","preview_url":"https://uwyn.net/system/media_attachments/files/116/190/037/177/963/470/small/df8445db306b0cc8.jpg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1408,"height":768,"size":"1408x768","aspect":1.8333333333333333},"small":{"width":650,"height":355,"size":"650x355","aspect":1.8309859154929577}},"description":null,"blurhash":"UAMjaBOt-CUu9F%1aK$fyXrpivtTZ$ofIooe"}],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null},{"id":"116138243541632954","created_at":"2026-02-26T18:02:40.292Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://uwyn.net/users/glaforge/statuses/116138243541632954","url":"https://uwyn.net/@glaforge/116138243541632954","replies_count":0,"reblogs_count":0,"favourites_count":1,"edited_at":null,"content":"\u003cp\u003e🍌⚡️ My favorite image model, now at flash speed!\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://uwyn.net/tags/NanoBanana\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eNanoBanana\u003c/span\u003e\u003c/a\u003e 2, pretty much the same quality as the pro version, but super, super fast!\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://blog.google/innovation-and-ai/technology/ai/nano-banana-2/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eblog.google/innovation-and-ai/\u003c/span\u003e\u003cspan class=\"invisible\"\u003etechnology/ai/nano-banana-2/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109314675907601286","username":"glaforge","acct":"glaforge","display_name":"Guillaume Laforge","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-09T00:00:00.000Z","note":"\u003cp\u003e🥑 Developer Advocate for Google Cloud ☁️\u003cbr /\u003e🧠 Focusing on Generative AI 🤖\u003cbr /\u003e⭐ Co-founder of the 🪶 Apache Groovy programming language\u003cbr /\u003e☕ Java Champion 🏆\u003cbr /\u003e🦋 @glaforge.dev\u003cbr /\u003e📣 Co-host of Les Cast Codeurs Podcast\u003c/p\u003e","url":"https://uwyn.net/@glaforge","uri":"https://uwyn.net/users/glaforge","avatar":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","avatar_static":"https://uwyn.net/system/accounts/avatars/109/314/675/907/601/286/original/ae8293f6d838cdaf.jpg","header":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","header_static":"https://uwyn.net/system/accounts/headers/109/314/675/907/601/286/original/028d8e3802c3ac3f.jpg","followers_count":1406,"following_count":564,"statuses_count":990,"last_status_at":"2026-06-17","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"✒️ Blog","value":"\u003ca href=\"https://glaforge.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eglaforge.dev/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2023-03-06T12:36:44.212+00:00"},{"name":"🔗 LinkedIn","value":"\u003ca href=\"https://www.linkedin.com/in/glaforge/\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003elinkedin.com/in/glaforge/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐦 Twitter","value":"\u003ca href=\"https://twitter.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003etwitter.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"🐙 Github","value":"\u003ca href=\"https://github.com/glaforge\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/glaforge\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-13T15:02:34.818+00:00"}]},"media_attachments":[{"id":"116138242691005530","type":"image","url":"https://uwyn.net/system/media_attachments/files/116/138/242/691/005/530/original/a9ed3cd72e143f3c.png","preview_url":"https://uwyn.net/system/media_attachments/files/116/138/242/691/005/530/small/a9ed3cd72e143f3c.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1408,"height":768,"size":"1408x768","aspect":1.8333333333333333},"small":{"width":650,"height":355,"size":"650x355","aspect":1.8309859154929577}},"description":null,"blurhash":"UBL4pI{br;tU%FD,J:9u?aEAENXnMb$vnQbW"}],"mentions":[],"tags":[{"name":"nanobanana","url":"https://uwyn.net/tags/nanobanana"}],"emojis":[],"card":{"url":"https://blog.google/innovation-and-ai/technology/ai/nano-banana-2/","title":"Nano Banana 2: Combining Pro capabilities with lightning-fast speed","description":"Our latest image generation model offers advanced world knowledge, production-ready specs, subject consistency and more, all at Flash speed.","language":"en","type":"link","author_name":"Naina Raisinghani","author_url":"","provider_name":"Google","provider_url":"","html":"","width":1300,"height":731,"image":null,"image_description":"","embed_url":"","blurhash":"USOgQjNK00x[f-WBs,xu%hIVp0RPScxtt4aK","published_at":"2026-02-26T16:00:00.000Z","authors":[{"name":"Naina Raisinghani","url":"","account":null}]},"poll":null}]