Matt Boyle
@mattboyle.bsky.social
Head of Product Engineering @ ona.com
People are often surprised that both Ona (formerly Gitpod) agents and our platform are built in Go, not Python.
The advantages are real, and I think we’ll see more and more companies making the same choice.
I talk about this (and a lot more) on the latest episode of the Cup O’ Go podcast.
The advantages are real, and I think we’ll see more and more companies making the same choice.
I talk about this (and a lot more) on the latest episode of the Cup O’ Go podcast.
September 22, 2025 at 4:00 PM
People are often surprised that both Ona (formerly Gitpod) agents and our platform are built in Go, not Python.
The advantages are real, and I think we’ll see more and more companies making the same choice.
I talk about this (and a lot more) on the latest episode of the Cup O’ Go podcast.
The advantages are real, and I think we’ll see more and more companies making the same choice.
I talk about this (and a lot more) on the latest episode of the Cup O’ Go podcast.
"We need new interfaces, new tools that embrace parallelism"
Read more about how we designed Ona for parrallism to be at the core (link below)
Read more about how we designed Ona for parrallism to be at the core (link below)
September 12, 2025 at 11:00 AM
"We need new interfaces, new tools that embrace parallelism"
Read more about how we designed Ona for parrallism to be at the core (link below)
Read more about how we designed Ona for parrallism to be at the core (link below)
We have a Slack channel, #so-many-demos, where we share quick Loom or CleanShot demos of ideas.
These demos might not ship, but they spark early sharing and experimentation. With AI making demos nearly free, the goal is clear: create more.
These demos might not ship, but they spark early sharing and experimentation. With AI making demos nearly free, the goal is clear: create more.
September 11, 2025 at 4:00 PM
We have a Slack channel, #so-many-demos, where we share quick Loom or CleanShot demos of ideas.
These demos might not ship, but they spark early sharing and experimentation. With AI making demos nearly free, the goal is clear: create more.
These demos might not ship, but they spark early sharing and experimentation. With AI making demos nearly free, the goal is clear: create more.
I have seen many complex setups and memes about people being able to use Claude Code on the go. Ona Cloud uses Sonnet 4 under the hood, and because our platform is cloud-native, handing off from Laptop to phone is as simple as just going to app.ona.com.
September 5, 2025 at 11:00 AM
I have seen many complex setups and memes about people being able to use Claude Code on the go. Ona Cloud uses Sonnet 4 under the hood, and because our platform is cloud-native, handing off from Laptop to phone is as simple as just going to app.ona.com.
Really cool to see Ona mentioned alongside great companies such as OpenAI, Cursor and AMP
When working on Ona, we were very tempted to introduce our own standard for Agent Rules, but the old XKCD on standards came to mind.
AGENTS.md just makes sense!
When working on Ona, we were very tempted to introduce our own standard for Agent Rules, but the old XKCD on standards came to mind.
AGENTS.md just makes sense!
September 3, 2025 at 12:00 PM
Really cool to see Ona mentioned alongside great companies such as OpenAI, Cursor and AMP
When working on Ona, we were very tempted to introduce our own standard for Agent Rules, but the old XKCD on standards came to mind.
AGENTS.md just makes sense!
When working on Ona, we were very tempted to introduce our own standard for Agent Rules, but the old XKCD on standards came to mind.
AGENTS.md just makes sense!
We just shipped chapter 4 of The Anatomy of Go!
For those who have already purchased the book at the discounted price; simply click the link in the next post to download the latest version free.
Chapter 4 adds 100+ new pages and digs into how Structs, Interfaces and Generics work under the hood.
For those who have already purchased the book at the discounted price; simply click the link in the next post to download the latest version free.
Chapter 4 adds 100+ new pages and digs into how Structs, Interfaces and Generics work under the hood.
April 16, 2025 at 6:52 AM
We just shipped chapter 4 of The Anatomy of Go!
For those who have already purchased the book at the discounted price; simply click the link in the next post to download the latest version free.
Chapter 4 adds 100+ new pages and digs into how Structs, Interfaces and Generics work under the hood.
For those who have already purchased the book at the discounted price; simply click the link in the next post to download the latest version free.
Chapter 4 adds 100+ new pages and digs into how Structs, Interfaces and Generics work under the hood.
Today I'm proud to launch your new favourite Go book in early access!
This book will go to a depth not seen before in Go books, and the first three chapters are available right now:
www.bytesizego.com/books/anatom...
This book will go to a depth not seen before in Go books, and the first three chapters are available right now:
www.bytesizego.com/books/anatom...
March 25, 2025 at 6:28 AM
Today I'm proud to launch your new favourite Go book in early access!
This book will go to a depth not seen before in Go books, and the first three chapters are available right now:
www.bytesizego.com/books/anatom...
This book will go to a depth not seen before in Go books, and the first three chapters are available right now:
www.bytesizego.com/books/anatom...
I saw lots of chatter about MCP servers on X this weekend.
They effectively let you "extend" Cursor with custom tools. I found a lot of examples for them in Python but not so many in Go... so I made one.
They effectively let you "extend" Cursor with custom tools. I found a lot of examples for them in Python but not so many in Go... so I made one.
March 10, 2025 at 12:55 AM
I saw lots of chatter about MCP servers on X this weekend.
They effectively let you "extend" Cursor with custom tools. I found a lot of examples for them in Python but not so many in Go... so I made one.
They effectively let you "extend" Cursor with custom tools. I found a lot of examples for them in Python but not so many in Go... so I made one.
Today I'm proud to release Lessons by ByteSizeGo. Short, focused Go tutorials designed to help you master concepts — fast.
Launching today with 50 lessons, over 7 hours of content and new lessons coming each week, I am confident that this will grow to be the best place to learn Go on the Internet.
Launching today with 50 lessons, over 7 hours of content and new lessons coming each week, I am confident that this will grow to be the best place to learn Go on the Internet.
March 3, 2025 at 7:06 AM
Today I'm proud to release Lessons by ByteSizeGo. Short, focused Go tutorials designed to help you master concepts — fast.
Launching today with 50 lessons, over 7 hours of content and new lessons coming each week, I am confident that this will grow to be the best place to learn Go on the Internet.
Launching today with 50 lessons, over 7 hours of content and new lessons coming each week, I am confident that this will grow to be the best place to learn Go on the Internet.
Men will see this and say hell yeah.
February 22, 2025 at 9:27 AM
Men will see this and say hell yeah.
Happy Valentines’s day BlueSky
February 14, 2025 at 4:22 PM
Happy Valentines’s day BlueSky
For most of us, garbage collection is something we have heard of but never need to pay attention to.However, one of the reasons Go is so efficient and easy to learn is due to its excellent GC. 🧵
January 10, 2025 at 9:17 AM
For most of us, garbage collection is something we have heard of but never need to pay attention to.However, one of the reasons Go is so efficient and easy to learn is due to its excellent GC. 🧵
Working on a new thing.
Looks kind of scary, needs to be much cuter.
Looks kind of scary, needs to be much cuter.
January 6, 2025 at 10:33 AM
Working on a new thing.
Looks kind of scary, needs to be much cuter.
Looks kind of scary, needs to be much cuter.
While GOPATH provided some structure, it lacked versioning, leading to the "diamond dependency problem" where different projects required different versions of the same package.
January 5, 2025 at 3:26 PM
While GOPATH provided some structure, it lacked versioning, leading to the "diamond dependency problem" where different projects required different versions of the same package.
These redundant requests can strain your system, leading to wasted CPU cycles, memory, and bandwidth.
By using singleflight, we can remove these duplicate calls really easily.
Here's an example:
By using singleflight, we can remove these duplicate calls really easily.
Here's an example:
January 4, 2025 at 5:23 PM
These redundant requests can strain your system, leading to wasted CPU cycles, memory, and bandwidth.
By using singleflight, we can remove these duplicate calls really easily.
Here's an example:
By using singleflight, we can remove these duplicate calls really easily.
Here's an example:
A client can now connect as follows:
that's it!
that's it!
January 3, 2025 at 1:19 PM
A client can now connect as follows:
that's it!
that's it!
Now you can run "buf generate". It will generate you a bunch of code in your gen/go folder.
Next, we will declare a server and implement the interface of the gRPC server, and start it:
Next, we will declare a server and implement the interface of the gRPC server, and start it:
January 3, 2025 at 1:19 PM
Now you can run "buf generate". It will generate you a bunch of code in your gen/go folder.
Next, we will declare a server and implement the interface of the gRPC server, and start it:
Next, we will declare a server and implement the interface of the gRPC server, and start it:
Next, create a buf.gen.yaml (you can also use buf to generate this automatically). The one below basically says generate me both go proto code and gRPC bindings:
January 3, 2025 at 1:19 PM
Next, create a buf.gen.yaml (you can also use buf to generate this automatically). The one below basically says generate me both go proto code and gRPC bindings:
and now we can use it like this.
As you can see, this allows us to offer customisations flexibly, whilst still maintaining readability and not exposing internal fields.
As you can see, this allows us to offer customisations flexibly, whilst still maintaining readability and not exposing internal fields.
January 2, 2025 at 1:13 PM
and now we can use it like this.
As you can see, this allows us to offer customisations flexibly, whilst still maintaining readability and not exposing internal fields.
As you can see, this allows us to offer customisations flexibly, whilst still maintaining readability and not exposing internal fields.