Nathan Manceaux-Panot

@cykele.ro

Loves building tools, making art. Doesn't know how to compromise. Values kindness greatly. Making @retcon.app, the macOS app for effortlessly rewriting Git history. Blog: https://pending.design Links: https://cykele.ro

This is a super fun feature. You can just paste in most ShaderToy effects. What's a better way to add bling to your graphics programmer CV than literally add a shader in there, and then just export to PDF? 😅

papaya.io@papaya.io · 6d ago

papaya.io now has shader layers, so you can create all kinds of custom effects. Supports a whole bunch of ShaderToy shaders out of the box, plus you can declare uniforms to get UI controls like sliders or color selectors. Also supports multi-pass effects like Gaussian blurs.

Always amusing how some CLI tools treat ASCII spaces as alien, unknowable technology. Here, I can't build Godot, because my copy of Xcode (i.e. my developer toolchain) is at a path with spaces ("Added apps", "Code editors").

Generating servers/rendering/renderer_rd/shaders/skeleton.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/particles.glsl.gen.h ...
clang++clang++: clang++: : Generating servers/rendering/renderer_rd/shaders/particles_copy.glsl.gen.h ...
error: error: no such file or directory: 'apps/Development/Code'error: 
no such file or directory: 'apps/Development/Code'
no such file or directory: 'apps/Development/Code'
Generating servers/rendering/renderer_rd/shaders/canvas_sdf.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/tex_blit.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/environment/gi.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/environment/sdfgi_debug.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/environment/sdfgi_debug_probes.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/environment/sdfgi_direct_light.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/environment/sdfgi_integrate.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/environment/sdfgi_preprocess.glsl.gen.h ...
clang++: error: no such file or directory: 'apps/Development/Code'
Generating servers/rendering/renderer_rd/shaders/environment/voxel_gi.glsl.gen.h ...
clang++: error: no such file or directory: 'editors/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk'
clang++: error: no such file or directory: 'editors/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk'
clang++: error: no such file or directory: 'editors/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk'clang++clang++
: : warning: warning: no such sysroot directory: '/Applications/Added' [-Wmissing-sysroot]no such sysroot directory: '/Applications/Added' [-Wmissing-sysroot]

clang++: warning: no such sysroot directory: '/Applications/Added' [-Wmissing-sysroot]
Generating servers/rendering/renderer_rd/shaders/environment/voxel_gi_debug.glsl.gen.h ...
Generating servers/rendering/renderer_rd/shaders/effects/bokeh_dof.glsl.gen.h ...

Did a short photoshoot with a friend the other day. Just finished editing the pictures; I think playing with the colors is my favorite part. Happy with the looks!

Portrait of a long-hair young woman. She’s smiling, looking off-frame. Behind her are multiple large glowing images arranged in a grid, out of focus.Portrait of a long-hair young woman. She’s smiling, looking at the camera, leaning on a windowsill.Portrait of a long-hair young woman. She’s smiling somewhat, wearing sunglasses. Behind her are trees, out of focus. The whole image is lighted in dappled shadows.

You should almost never type `rm` in your terminal. In a script, sure. On the command line? Use `trash`! Same effect, but vastly safer. Just because you're good at computers doesn't mean you won't make mistakes. A very simple habit for avoiding a lot of pain. Defaulting to `rm` makes no sense.

Really not enjoying Xcode's new pre-build error style. They look off, they're harder to spot, and more importantly—why are they de-emphasized in the first place? In the codebases I've worked on, pre-build errors are almost never wrong. Is that different for others?

It’s code:

		func textField(_ textField: NSTextField, didSelect item: Item) {
			textField.stringValue = item.representedValue
			textField.currentEditor()?.doCommand(by: #selector(NSResponder.moveToEndOfLine))
		}


With an error on the second line:
Cannot assign value of type 'RefTextField.RefTextSuggestionsDelegate.SuggestionItemType' (aka 'RefStringComponents') to type 'String'

The error is displayed in a discrete style, with a white background instead of the typical high-contrast red background.

Something I LOVE about fan-made anime subtitles is that the teams often go above and beyond when translating on-screen text. Here, they didn't just carefully position the translated message—they outright erased the Japanese characters, by carefully recreating the background with vector shapes!

A smartphone displaying a notification in Japanese. The wallpaper is waffles with syrup.The same image, with all the text translated into English. Parts of the background that were obscured by the Japanese characters have been recreated.

It's really hard to succinctly explain Retcon's main, game-changing advantage (getting instant feedback after each change, instead of the sluggish plan/find out/restart workflow). The website currently really drops the ball on this, so I've been working on a new section. Here's a very rough WIP!

A diagram that shows a three step process: make a change (a commit is dragged); see the outcome (a conflict has resulted); keep going (“Pay no mind to the conflict. You’ll resolve it later, when you feel like it; or it might even vanish as you make more changes.”)

Really nice to see TinyStart do this! Its changelog tells you exactly which versions have been released after the one *you're running right now*. I added this feature to Sparkle because that always felt unclear to me, so I'm happy to see it adopted. (also saw Kaleidoscope do it!)

TinyStart’s update window. It clearly marks the latest three updates with a “New” badge, and the fourth one with an “Installed” badge.

LLMs have made me a better writer, because sometimes I'll write something and it'll read a liiiittle too much like what a LLM would write, and so I change it to be nicer

While I'm at it I also got to design the achievement icons for the Riven Remake, in the style of Catherine's journal illustrations—a totally different vibe, despite referencing a lot of the same imagery:

Achievement icons for the Riven remake, drawn in a scratchy, naive style.A page from Catherine's journal in Riven (2024), featuring an illustration of the four main islands on Riven.

 from doing whatever they can to thwart Gehn’s endeavors there.

The fourth island I could not see, as it has crept away to some distance and now lies concealed by fog. The Moiety said that Gehn originally governed from this small island, living and working in a protected space he built for himself atop the stump that remains where the Great Tree used to stand. 

The only surviving forest is located here, on the largestA page from Catherine's journal in Riven (2024), featuring an illustration of the jungle on Jungle Island.

island – where the village also remains. This island was ostensibly intended to be the province of the people – but it, too, has been irrevocably marred by Gehn's oppressive intrusions. [Added “Gehn can rot in,” scratched out]

Words fall…
Brittle brown leaves –
Masquerading as green –
Should never have held
Lives both bloomed
And as yet un-seeded.

Still reading Pogue's Apple history book, and it's full of interesting new tidbits. Like how "Designed by Apple in California" was first used in the 80s, when Apple was contracting another company to do design (?!). Or that Macworld magazine was created *by Apple* to make the Mac seem more legit!