srasu

Professional Clojurist and lover of Lojban.

Avid player and GM of TTRPGs.

srasu boosted:
2024-11-07
Repost this if Trans people are welcome and safe with you
srasu boosted:
2024-11-07
Repost if LGBT is welcome or safe on your account
srasu boosted:
2024-06-19

I'm scared how misunderstood LLMs and GenAI truly are; they are so far from a genuine intelligence it's not even funny. They are statistical models for language, trained on a lot of words and sentences, representing the statistical likelihood of words following other words, sentences following other sentences, just with a lot of data and samples to pull from. That's it. There's no intelligence, there's no path to intelligence; it's simply statistics chaining words and symbols together.

srasu boosted:
nixCraft 🐧nixCraft
2024-04-09

So this is what Microsoft is up to now? Sad. It is a pathetic company. Maybe the EU and FTC need to look into this kind of stuff. Trust and Microsoft have no relationship. If you care about your privacy, never use anything built by MS. Use Firefox or other browsers. I don’t use edge or windows but it was posted twitter.com/ianzelbo/status/17 here. I am amused by how they are abusing their power.

More nagging from MS when you try to download FF or Chrome on Windows. It says:  Microsoft Edge runs on the same technology as Chrome, with the added trust of Microsoft.Microsoft nagging users when they try to download other browsers and it says: There's no need to download a new web browser. Microsoft recommends using Microsoft Edge for a fast, secure, and moder experience that can help save you time and money.
srasu boosted:

mini-announcement: I've decided to publish Yotta.

Yotta is a forth-like language with a very small core. In the beginning, all you can do is:

- emit machine code,
- emit machine code that emits machine code,
- define new words ... that emit machine code

With just those primitives we define an x86-64 assembler, and from there we use that assembler to define most of a forth.

Check it out: github.com/typeswitch-dev/yott

srasu boosted:
2024-03-27

I think this person really stumbled on a core #HopePunk / #SolarPunk concept.

Hostile architecture is a symptom of the very system we have to fight.

Fuck hostile architecture, | want unhostile architecture. I want benches to be designed to be as easy as possible to sleep on. | want little places for pigeons to nest to be purposefully put on buildings. | want people designing public spaces to think about what they'd be like to skateboard on. | want "Please loiter" signs. | want people to be kind.
srasu boosted:
2024-03-26
2024-03-26

Lol even without the last function I was working on if I just take the preprocessor out of the file it's 13 MB.

The longest single line in my source is over 12 million characters long.

Somehow the expression `pga3_sub(forces, pga3_commutator(momentum, rigidbody->velocity))` turned that huge.

2024-03-26

Welp. I guess it's time for codegen.

Today I crashed clang trying to evaluate my generic functions.

#programming #GeometricAlgebra #GameDev

A long backtrace from clang crashing trying to evaluate functions in a rigidbody dynamics equation.
2024-03-25

Last couple days I've been working on doing rigidbody dynamics in plane-based #GeometricAlgebra which has been really cool.

I've learned about a bunch of new stuff, like lie algebra interpolators and integrators.

Turns out that PGA makes interpolating between orientations basically trivial, and it integrates rotation and translation together so I don't have to do any extra work to support torques. The only thing from angular dynamics I have to do is use an inertia tensor.

#GameDev

2024-03-24

@novicearts I mean doing some generic dispatch is fine, I just have code that's doing potentially half a dozen or more _Generic calls per function invocation. If you're just doing single or double dispatch to function overloads, you're probably fine.

srasu boosted:
Aria DesiresGankra@toot.cat
2024-03-22

funfact you can set all your cargo dependencies to version = "<3"

(if any deps don't resolve then clearly they've changed and it's just not working anymore)

2024-03-20

Solving my compile time issues wasn't so hard. Just changed the implementation file for my projective #GeometricAlgebra library to not use generic dispatch. Using a ton of generic dispatch in user code will of course slow things back down, but I'm less worried about that because it can be alleviated as needed.

If I were using a codegen approach this wouldn't have been a concern because I could just monomorphize all the functions and only use _Generic for function dispatch in two layers. Oh well

2024-03-19

Well, that's done now. :)

Finished my _Generic support for my 3d plane-based #GeometricAlgebra library in C.

Now I have another issue. Gotta figure out how I can reduce build times. All these inline functions are making me feel like I'm compiling Rust or something, lol.

2024-03-18

Today I got started doing the 3d plane-based #GeometricAlgebra library and getting it finished up with _Generic support. This mostly wraps up the math library for my game engine, at which point I can move on from this.

If I end up feeling like I want to optimize things I might eventually follow along with Look, Ma, No Matrices! and work to reduce the number of multiplies required, but honestly I think that's mostly useful for shaders. DCE and inlining work well enough for CPU side.

#GameDev

2024-03-09

As of today I think my 2d projective #GeometricAlgebra implementation in C is done!

I'll be moving on to my 3d implementation to flesh it out and add type generic functionality to it, but for now just 2d PGA is enough.

Now on to the next steps in my engine, working on the systems part of my species-based #ECS. That will include component queries, system initialization and deinitialization, and more.

#GameDev

srasu boosted:
Epischeskätzchen :EpicWave: :cgfs:EpicKitty@mk.catgirlsfor.science
2024-03-09
2024-03-08

Today I figure I might show off the current in-progress #ECS api of my engine.

I've talked about this a little bit before, but my game engine uses a species-based ECS design, which isn't super visible in the API, except for in some batch-edit functions which allow adding and removing many components at once.

I think that the API I've settled on so far should be pretty pleasant, but I look forward to seeing it evolve once I've gotten further.

#GameDev

A screenshot of some C code showing part of a test for the ECS implementation.

First, a struct named component info is initialized, then filled out with the size, alignment, and name of a component called "Component A". Next, the component info is registered against a scene object, which returns a component ID which is saved. The scene object is initialized somewhere outside the screenshot.

The process is repeated for a component called "Component B".

Next, an entity is created with the following steps.

An array of component IDs is created with the ID of both of the registered components. A pointer to a struct called "Entity Ref" is declared but not initialized. A function called "make_entity" is called passing a reference to the entity ref pointer, the components array, the size of that array, and two arena allocators called global and scratch. The function returns an entity ID structure.

After creation, an "entity_set" function is called with the entity reference pointer, the id of one of the components, and a designated initializer for that component. This is repeated for the other component.

Finally, an array of entity IDs is declared, and a for loop iterates over that array to initialize each element with the same procedure as previously outlined.
2024-03-08

In spite of me railing on _Generic in C these last few days, it's been a quite useful tool.

Today I'm getting very close to a complete implementation of a 2d type-generic plane-based #GeometricAlgebra library for the C #programming language, primarily useful for my game engine which has been the focus of my #GameDev work for the last while.

Next steps for me after this will be doing the same for my partially-complete implementation of a 3d version.

2024-03-07

This is depressing. One of my posts is popping off more than anything else I've published on here, and it's just me being needlessly pedantic on the internet.

I realize this is the internet and that's the kind of content that thrives on here, but now I'm gonna think every time someone follows me that I'll just be "that guy who was snarky about the classification of elvish languages in fiction". 🙃

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst