Roger Peppe's Avatar

Roger Peppe

@rog.bsky.social

CUE, Go, fiddler, climber, gardener, curry maker.

1,287 Followers  |  155 Following  |  340 Posts  |  Joined: 25.04.2023  |  2.3521

Latest posts by rog.bsky.social on Bluesky

Been playing around with @cuelang.org and building a new home automation system to control my lighting and written up first post about the project still loads of other content to write though!

Big thanks to @myitcv.io @rog.bsky.social @mvdan.cc for all there help

aran.dev/posts/cue/us...

18.10.2025 11:54 โ€” ๐Ÿ‘ 6    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Brilliant! What a silly assumption to make that those two sentences were related.

12.10.2025 18:37 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
The Go Programming Language Specification - The Go Programming Language

from the spec: "Within a constant declaration, the predeclared identifier iota represents successive untyped integer constants. Its value is the index of the respective ConstSpec in that constant declaration, starting at zero." go.dev/ref/spec#Iota

12.10.2025 18:23 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

... to the point where we've now got a CI rule that checks we've got no unquoted @ characters in the commit.

12.10.2025 17:23 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

There is a user named "embed" who gets pinged every time we have a commit that mentions the @cuelang.org feature enabled with an `@embed` attribute.

12.10.2025 17:22 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
simonw/claude-skills One of the tips I picked up from Jesse Vincent's Claude Code Superpowers post (previously) was this: Skills are what give your agents Superpowers. The first time they really popped โ€ฆ

TIL Claude's new code interpreter mode has a /mnt/skills/public/ folder full of prompt instructions and Python utilities for creating and manipulating pdf, docx, pptx, xlsx files - and you can ask Claude for a copy and learn a TON about working with those formats

simonwillison.net/2025/Oct/10/...

11.10.2025 00:00 โ€” ๐Ÿ‘ 175    ๐Ÿ” 23    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 1

I honestly don't get the love for TUIs. Everything's passive apart from one tiny spot that you can only poke at with linear key presses. Is it just that they're easier to code up?

10.10.2025 19:47 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
atproto/lexicons/com/atproto/space/flexicon at main ยท blebbit/atproto Social networking technology created by Bluesky (with Blebbit patches) - blebbit/atproto

I swear using @cuelang.org is like having superpowers

Just CUE-ified the lexicon for permissioned spaces, so much easier to have consistency and readability. The JSON form is generated into the expected directory.

github.com/blebbit/atpr...

#atdev #atprotodev @atproto.com

23.09.2025 05:39 โ€” ๐Ÿ‘ 11    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Three shelves of rather sun-faded sf paperbacks, featuring many Heinlein, Asimov and other vintage favourites.

Three shelves of rather sun-faded sf paperbacks, featuring many Heinlein, Asimov and other vintage favourites.

I was back home at my parents' place recently and, thinking of your interests, took a photo of my old bookshelf there, a snapshot in time from about 1990...

13.09.2025 10:42 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I suspect an LLM could do a decent first cut here.

14.08.2025 16:23 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
genai package - github.com/maruel/genai - Go Packages

My main initial feedback is that pkg.go.dev/github.com/m... could really do with a high level overview introducing the user to the main concepts involved. Godoc inevitably puts all the exported symbols at the same level, but some are definitely more important than others!

14.08.2025 16:23 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
retry package - github.com/rogpeppe/retry - Go Packages

I wrote this a while ago, which I quite like: pkg.go.dev/github.com/r...
I've been wondering about whether it could be done nicely as an iterator.

14.08.2025 08:48 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Nice! I've been wanting something like this. Looking forward to exploring the Go API.

10.08.2025 22:09 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Cool! I'd be really interested to see a full explanation of this table with full descriptions of the columns and the various emoji...

10.08.2025 20:33 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

> The law classes us as second class citizens.
Woah, I did not realise that! That's terrible - could you explain a bit more about that to a complete non-US-based outsider?

08.08.2025 14:01 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

The Hori Hori is my favourite garden tool. I gave one as a present to my mum. The shipping company said they wouldn't ship knives, so I described it as a trowel. Which it kind of is.

07.08.2025 11:49 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I actually still think about those points too FWIW, and sometimes find the techniques really useful. But I also often that constraints _are_ very useful for bridging the gap between real-world Go and generics. So happy with how Go's generics turned out in the end.

04.08.2025 20:27 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

It makes me really happy that this talk is (still!) appreciated. Quite surprising but deeply gratifying. #golang

04.08.2025 20:24 โ€” ๐Ÿ‘ 10    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Absolutely loved it, and the sequels. I'd love to see more.

27.07.2025 14:06 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I think you drew my Hoover.

26.07.2025 10:39 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The fact that interface declaration is implicit is really useful for:
- post-facto interfaces (surprisingly common)
- avoiding cyclic dependencies: a dependency can often deliberately implement an interface defined by a higher level package

24.07.2025 12:35 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Leaving discoverabilty issues aside,in practice, some code must (almost always) explicitly take a value and assign it to an interface. That intentionality, together with full method sigs, means that ambiguity is ~never a problem.

24.07.2025 12:29 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Raspberry gin is to be recommended: easier than wine and good for a present :)
Also: freeze freeze freeze. Winter is coming.

19.07.2025 11:59 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

oh yeah, we'll use the quicklime to store the co2 from making the quicklime. sgtm๐Ÿ‘Œ

26.06.2025 18:41 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Some nice languages changes here and in the near future. "error" in particular should be a real QoL improver. #cuelang

26.06.2025 16:35 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

They do _say_ "CO2 for storage" but that really does depend on having an actual storage mechanism I guess. "We'll put it in a reservoir... until the reservoir breaks"

26.06.2025 16:32 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
ZEQL - Zero Emission Quicklime ZEQL [sequel] is an industrial partnership for electrified manufacturing of quicklime co-owned by SMA Mineral and SaltX Technology.

So I presume this is just vapour? www.zeql.com

26.06.2025 16:14 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Hurrah! All the work ($6.50's worth, it seems) has been committed to a branch in my git repo. Nothing is lost.

25.06.2025 13:02 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
nil pointer panic ยท Issue #175 ยท boldsoftware/sketch After running for a long time, I saw this panic: https://sketch.dev/s/6fh5-5q8y-7tk4-z3n0 ($6.46/10.00)*> help๐Ÿฆธ I use `git mail` to create a CL https://sketch.dev/s/6fh5-5q8y-7tk4-z3n0 ($6.46/10.00...

Unfortunately after running for 20m (and looking like it had actually done what I asked it), disaster struck! github.com/boldsoftware...
I wonder whether I've lost all that work now.

25.06.2025 11:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
sketch.dev

@crawshaw.io Half way through my first sketch.dev run. Looking promising so far! One thing I'm really liking is the ability to interject comments while it's thinking and see its trajectory change.

25.06.2025 11:00 โ€” ๐Ÿ‘ 7    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@rog is following 20 prominent accounts