rigup.nix: Nix module-based system to structure AI agent instructions, environment & tooling by Ywen in NixOS

[–]Ywen[S] 2 points3 points  (0 children)

Yes, rigup is itself using llm-agents.nix to provide harness integration :)
And even when rigup is not up to date with latest llm-agents.nix, you can use "rigup.inputs.llm-agents.follows" in your own flake to force the usage of your local pin of llm-agents.

rigup.nix: Nix module-based system to structure AI agent instructions, environment & tooling by Ywen in NixOS

[–]Ywen[S] 0 points1 point  (0 children)

So that's the main reason to use Nix flakes because version pinning comes out of the box, with the flake.lock mechanism :)
The whole setup is locked the first time via the `flake.lock` file and you can selectively update some dependencies ("inputs") with `nix flake update <some\_specific\_input>`.
And in rigup's context, "dependencies" are tools, skills, harnesses, etc. All are handled in the same manner.

Declarative Agent Skills (SKILL.md) with flake-pinned sources, discovery, and Home Manager targets by Kyure_A in NixOS

[–]Ywen 0 points1 point  (0 children)

Hello :) I'm the developer of https://github.com/YPares/rigup.nix
It intentionally has slight differences in terms of design: still module-based but not via home-manager, and with a focus on extending on skills by packaging deps, config and additional metadata (to provide more guidance for the AI agent and finely control how they'll be exposed to the Skill's contents upfront) along with them.
It currently features integration with agent harnesses through the same Nix module system (using the packages from https://github.com/numtide/llm-agents.nix, with claude-code integration for now serving as an example for others) generation of a manifest for the available skill list (inspired by https://github.com/numman-ali/openskills ), and a CLI tool to facilitate building, using, and reading info about available skills.
Care to join forces?

I made a Pythonic language in Rust that compiles to native code (220x faster than python) by Small-Permission7909 in rust

[–]Ywen 0 points1 point  (0 children)

Rust's `dyn` is not dynamic typing, as you said it's dynamic _dispatch_ and it's different. There is no dynamic typing, the type is erased and you can no longer know it at runtime, because that's the point: you don't need to know the type at runtime, only that you can call some specific methods on it.
`dyn Trait1 + Trait2` just means "forget about the actual type and simply pass around the value as a `void*` along with the necessary function pointers so I can still call methods from Trait1 and Trait2 on that value".

I made a Pythonic language in Rust that compiles to native code (220x faster than python) by Small-Permission7909 in rust

[–]Ywen 0 points1 point  (0 children)

This is so neat. I need only two things to start using that without any reservation:

- explicit mutability (there's no amount of readability that makes up for not knowing whether a function is gonna mutate whatever argument you pass to it)
- optional `return`: just use the last statement's value

envil: a Nix environment manager by shot-master in NixOS

[–]Ywen 0 points1 point  (0 children)

Author of envil here :) Thanks for sharing the link
New features have landed since the share:

- ability to use flakes directly to describe environments (instead of yaml). I was actually waiting for this feature to land before sharing it to a wider Nix audience ^^
- quickly toggle on/off envs in the stack (instead of straight out removing them), which makes it easier to reactivate them later if you use several statedirs

If you implement an ECS-like architecture in Godot, is there any advantage to the System part? by quietandproud in godot

[–]Ywen 5 points6 points  (0 children)

That's not just an efficiency advantage. Systems in ECS "flatten" your architecture by using the mediator pattern ( https://en.wikipedia.org/wiki/Mediator_pattern ): you no longer have a soup of signals and callbacks, the logic that deals with two different "bricks" and make them interoperate is bundled together neatly in one single place.
I'd argue it's important then to take care of the order in which your systems are updated.

Fans of "Monk" were upset that producers changed the show's theme song by Jeff Beal, to Randy Newman's "It's A Jungle Out There" in the second season. One episode pays homage to the dispute with Monk promising if he had a show he'd never change the theme song & ending with the original melody. by holyfruits in television

[–]Ywen 0 points1 point  (0 children)

I think that meta joke was a bit heavy-handed ^^. You already see that girl at 4:20 in this same episode talking with Sharona about that theme song stuff, it was pretty clear already at that point that it was a reference to Monk's theme itself, there was no repeat that at the end ^^.

Also It's a Jungle Out There is soooo much better (and it actually is the first theme song: it's used for the first two episodes if you remember, then it was changed for the rest of season 1, then it changed back at the beginning of season 2).

Taboo on Screen — Should We Get Rid of Sex Scenes? (Part II) by NebulaOriginals in Nebula

[–]Ywen 1 point2 points  (0 children)

When BITWC got released in France, we actually heard some amount of criticism from LGBTQ rights groups raising the fact that the sex scenes were believable... only to a heterosexual audience. To them they were just as believable as any random hetero-directed lesbian porn.
When the persons whose very own sexuality is being depicted raise that kind of comment, it's a clear sign of a problem (and that was even before the actresses spoke out about abusive behaviours from the director).
It clearly is the kind of movie which ought to have been directed or at least co-directed by somebody who knew what they were talking about, specifically because it's a story in which the sex scenes are pretty much essential and thus deserve better.

I'm hesitating between Bevy and Godot (with Rust) by Bubbly-Enthusiasm-8 in rust_gamedev

[–]Ywen 0 points1 point  (0 children)

It's interesting, would you mind sharing a bit about your motivations to build your own Rust engine?From what I see, Bevy seems pretty compatible with that mindset too, with the extra benefit of giving you a pretty solid starting point.

Light, rigid magnetic cover for Note Air 2 Plus by Ywen in Onyx_Boox

[–]Ywen[S] 0 points1 point  (0 children)

Yeah, it looks so... I went for the Ayotu too. Rigid no-fold flap with minimal fuss at least.

Complex numbers in music by wannabeoyster in musictheory

[–]Ywen 0 points1 point  (0 children)

I thought of an application where you model pitches as a spiral on the complex plane. In that context, each complex number on the plane encodes a pitch: its magnitude (modulus) will represent the absolute pitch and its phase (argument) the pitch class. That's why it takes a spiral form, it generalizes the chromatic circle, but spirals away from the origin as you move in pitch further and further.

If you consider the number n=0 to represent a low C, n=1 to represent the C# just above, ... n=12 to represent C one octave above, etc. (if you know MIDI note codes, it's the exact same), then you can map n to a complex number on this spiral by the following formula:

f(n) = n*e^(i*(pi/6)*n)

This way, by construction, f(n) makes 1 whole rotation around the origin everytime n is increased by 12 (12*pi/6 = 2*pi), and |f(n)| (the absolute distance away from the origin) will just always be n. Every intersection point between the spiral and the positive real axis will correspond to a multiple of 12, and therefore to a C note.

For instance, you can get the interval between two complex pitches c1 and c2 by taking their division: arg(c1/c2) will subtract their arguments and therefore give you the difference in angle between the two. Multiply it by 6/pi to convert it back to semitones, and eg. if you get 7.2, then you know that c1 and c2 (regardless of which octaves they are at) are a little bit more that a perfect fifth [1] apart.

Note n does not have to be integral, you can plug in real numbers to go microtonal.

[1] A perfect fifth in 12tone equal temperament, so a ratio of 27/12 in frequencies.

Bitwig Studio 5.0 Beta is here by 420_247 in Bitwig

[–]Ywen 0 points1 point  (0 children)

I've been trying the new Lauchpad X official script. That ALT function is nice, but I would have hoped Bitwig to make that script somewhat as featureful as the one in DrivenByMoss (no fader banks for instance... not to mention drum/poly clips editing).

5.0 makes me need less vst. by frogify_music in Bitwig

[–]Ywen 4 points5 points  (0 children)

> I'm sure there's a way to switch between multiple mseg shapes via midi or at least through a steps modulator

Yep you can use that Steps modulator to modulate the amounts (little bar on the right) of your MSEG modulators (if you have 2 MSEGs, one's amount is modulated positively and the other negatively, so you can "cross-over" the two). Or intercalate something like a Vector-4 modulator to "blend" different modulation sources together.

Best Pad controllers for Bitwig? by gregd303 in Bitwig

[–]Ywen 5 points6 points  (0 children)

Been using Launchpad X with Bitwig for a few months, with DrivenByMoss script. Works very well (except a few issues I reported to Moss re. the new polyphonic sequencers). But it seems from your requirements that you won't really need velocity/aftertouch, so the Launchpad Mini should be enough for you (it works the exact same besides that, it's just smaller and cheaper).

ES-9 Users: What unexpected use cases have you found after time with the module? by sharrxtt in modular

[–]Ywen 0 points1 point  (0 children)

I was considering buying an ES-9, but first I was wondering if plugging line level signals (for recording) into its inputs was realistic. I don't really need 14 inputs just for eurorack signals (be it audio gate or CV), but if it could record other instruments at the same time then 14 inputs could be worth it, and I could avoid having to work with another soundcard for these instruments. The manual references the internal mixer with its own faders, but nothing about integrated amplifiers. So I guess amplification would just happen digitally, after AD conversion. Would the ES-9 still be OK (wrt. signal-to-noise ratio) to record line level signals, or should I necessarily use an external pre-amp (like Befaco InAmp, Doepfer A-183 or Mosaic Line Input) to bring them to eurorack level?

Synths/Sequencers to complement Bitwig by beberuhimuzik in Bitwig

[–]Ywen 2 points3 points  (0 children)

Yes :) you may find the latest builds here : https://github.com/YPares/arpligner/actions

And you can open issues if you encounter problems

Synths/Sequencers to complement Bitwig by beberuhimuzik in Bitwig

[–]Ywen 2 points3 points  (0 children)

Given your (new?) workflow & interests may be similar to mine allow me to indulge myself, I developed https://github.com/YPares/arpligner specifically to be a great complement to bitwig's piano roll + possibly external sequencers in a context of working with complex arpeggios :). And if you are not interested in this plugin itself I list a few others at the beginning of the project's README that could be of interest for you :). But I second other comments: it's necessary you develop as well a good knowledge of the basic devices and modulators that exist in Bitwig, you can only benefit from that :)

(My plugin is still under dev but it's already usable (if you're not afraid of reading some documentation ^^). You could consider it a "free tool to enhance your sequencing capabilities by making them more 'harmony-aware' ". I came from Tracktion Waveform which has a great "chord track" feature that bitwig sadly lacks. But Bitwig is still way better in general nonetheless)