#PSA Since I've just been asked again if I could use more topic-specific accounts and not mix my photography with other topics — Unfortunately, nope! I'm on a single user managed instance and cannot create new accounts on this server nor do I want to create an account for every single topic I'm interested in or posting about. However, you can filter my posts by hashtags, which I'm trying to use consistently (also for my own purposes)...

Hashtags can be browsed individually, subscribed to (via Mastodon) or even syndicated via RSS, e.g.

Browse:
http://mastodon.thi.ng/@toxi/tagged/LandscapePhotography

RSS:
http://mastodon.thi.ng/@toxi/tagged/LandscapePhotography.rss

My most commonly used tags are:

Photography:
#LandscapePhotography #NaturePhotography #NoirCountry (my B&W photos) #POV #Hiking

Open source projects:
#ThingUmbrella #ZigThing #GenArtAPI #TypeScript #Ziglang #WASM #WebAssembly #Forth #OpenSource #ProgLang

Art:
#Art #GenerativeArt #AlgorithmicArt #ProceduralArt #KineticArt #Exhibition

Music:
#Music4Coding

AI relatated:
#AI #LLM

Education/research:
#Edu #Research

Hope that helps!

Karsten Schmidt (@[email protected])

2.23K Posts, 900 Following, 3.58K Followers · Intoxicating, non-toxic! 27+ years of interdisciplinary opensource R&D, software dev, computational art/design/craft/edu, landscape/nature photography, kallitypes, salt prints, electronic music. Trying to do meaningful work. Creator & maintainer of the thi.ng ecosystem of 200+ code libraries. Except boosts/linked content, all published media is my own work & copyright by me. Most posts delete >2 months. Available for consulting/commissions. Searchable. he/him #ThingUmbrella #TypeScript #Zig #WASM #Forth #LandscapePhotography #AltProcess #Kallitype #Geometry #Graphics #GenerativeArt #PermaComputing #Synth #Music4Coding #Hiking

Mastodon Glitch Edition

After almost a week of refactoring and experimenting with several different approaches, I've updated my Zig nD SIMD vector library to be compatible with the latest Zig 0.15.1, and at the same time cleaned up some internals.

The solution I settled on is a mix of techniques proposed by others, and was needed due to the removal of the struct/namespace-merging syntax in the new Zig version, which this library heavily relies on. I don't like that the new source code is now more than 2x larger and involves a huge amount of duplication to address the many special cases of supported operations for different vector sizes and types. I might still take another pass to eliminate those (by using `@compileError()` for unsupported cases), but that'd be an implementation detail downstream users don't have to care about. I tried AOT code generation as well, but the special case handling made this feel less maintainable...

UPDATE: The only breaking change is the handling of vector swizzles. I had to remove the hundreds of named swizzle functions and replaced them with a single (comptime optimized) `.swizzle(vec, pattern)`, e.g. `.swizzle(vec, "xxyy")`...

If you're interested, the new code is here:
https://github.com/thi-ng/zig-thing/blob/main/src/vectors.zig

The readme contains details about the many supported operations:
https://github.com/thi-ng/zig-thing/blob/main/doc/vectors.md

Installation instructions in the main repo readme:
https://github.com/thi-ng/zig-thing/tree/main

#Zig #Ziglang #ZigThing #Vectors #Refactoring

zig-thing/src/vectors.zig at main · thi-ng/zig-thing

Small collection of data types/structures, utilities & open-learning with Zig - thi-ng/zig-thing

GitHub