Posts

This profile is from a federated server and may be incomplete. Browse more on the original instance.

toxi, to Germany
@toxi@mastodon.thi.ng avatar

Choose Life.
Choose a job.
Choose a career.
Choose a family.
Choose a fucking big television, choose washing machines, cars, compact disc players and electrical tin openers.
Choose good health, low cholesterol, and dental insurance.
Choose fixed interest mortgage repayments.
Choose a starter home.
Choose your friends.
Choose leisurewear and matching luggage.
Choose a three-piece suit on hire purchase in a range of fucking fabrics.
Choose DIY and wondering who the fuck you are on Sunday morning.
Choose sitting on that couch watching mind-numbing, spirit-crushing game shows, stuffing fucking junk food into your mouth.
Choose rotting away at the end of it all, pissing your last in a miserable home, nothing more than an embarrassment to the selfish, fucked up brats you spawned to replace yourselves.

Choose your future.
Choose life…

— Irvine Welsh, Trainspotting

Also: #Europawahl #Germany #GenZ #Disappointed

toxi, to random
@toxi@mastodon.thi.ng avatar

Btw. Wahltag heute! Macht mit!!! ✅ #NoAfD

toxi, to photography
@toxi@mastodon.thi.ng avatar
toxi, (edited ) to art
@toxi@mastodon.thi.ng avatar

If you happen to be in Basel from June 10-16 for Art Basel, you can snap up one of 20 unique prints of my C-SCAPE endlessly evolving muti-cellulluar automata collection at The Digital Art Mile @ Space31, Rebgasse 31.

Just find the Generative Art kiosk organized & hosted by the fxhash team. The kiosk features a huge 86" screen showcasing realtime versions of generative art projects and single edition prints by 16 artists.

A small preview selection of C-SCAPE prints (30x30cm, 400g paper, high resolution) on offer (without watermark, of course)...

#CSCAPE #Art #GenerativeArt #ArtBasel #Prints #Exhibition #Basel #Switzerland #CellularAutomata

nclslbrn,
@nclslbrn@mstdn.io avatar

@toxi Awesome, it's a shame Art Basel doesn't last a little longer (compared to the Venice Biennale).

toxi,
@toxi@mastodon.thi.ng avatar

@nclslbrn Thank you & yeah, would be nice if it'd be on for a bit longer since I'm tempted to go myself, but also still undecided (it's only just over 3h from here)... at least this part is on until next Friday, so let's see...

toxi, to typescript
@toxi@mastodon.thi.ng avatar

Example #167, and the very first example showing basic usage of the new https://thi.ng/geom-webgl interop package (still unreleased): Parsing a SVG path, sampling it with uniform vertex density (configurable), converting it into a complex polygon (w/ holes) and then into WebGL buffers (w/ vertex color option enabled), randomizing colors via probabilistic color theme, and — finally — drawing it all...

Demo (reload for new variation):
https://demo.thi.ng/umbrella/geom-webgl-basics/

Source code:
https://github.com/thi-ng/umbrella/blob/develop/examples/geom-webgl-basics/src/index.ts

#ThingUmbrella #WebGL #SVG #Geometry #Tessellation #Triangulation #DebugArt #TypeScript #Typography #Polygon
#ThingUmbrella

toxi,
@toxi@mastodon.thi.ng avatar

Btw. More background details about this ongoing work in this thread: https://mastodon.thi.ng/@toxi/112564848531261742

toxi, to random
@toxi@mastodon.thi.ng avatar

Looong, slooow, deeeep, hypnoootic, splendiiid... 🫠🎧

Noah Lyas & Eafhm - Near The Horizon (2023)
https://yt.artemislena.eu/watch?v=lES_lvZHpKg

toxi, to opensource
@toxi@mastodon.thi.ng avatar

Since I've just been asked again why some of the https://thi.ng/umbrella examples in the repo are not working when copy/pasting the source code into a new (external, I assume) project — there could be several reasons...

  1. The default branch of the repo is develop and usually does contain code which hasn't been released yet (as library/package). If in doubt, please switch to the main branch which contains the state as of the most recent release cycle...

  2. Related to #1, there could be breaking API changes on the develop branch (as is the case for the current major undertaking of thi.ng/geom v8.0.0) and some of the examples are already using the new/upcoming API...

  3. Rare, but possible, I've forgotten to declare dependencies for an example and you might encounter broken imports. Since 2022 I've got a custom tool to verify imports and exports of all packages and examples (and which is run prior to each release), so this shouldn't happen anymore...

  4. Personally, I'm only using a bundler setup/workflow (@vite) and had zero problems in the past few years. However, some people using ESM imports directly have been encountering weird issues with some transpilation features of JS CDNs (e.g. skypack) in the past, but these shouldn't happen with more modern ones like https://esm.run.

Finally, all packages have a generally uniform readme structure, incl. "install/import instructions". For examples, there're also these wiki pages:

General:
https://github.com/thi-ng/umbrella/wiki/Example-build-instructions

For examples added since late 2023:
https://github.com/thi-ng/umbrella/wiki/Development-mode-for-examples-using-thi.ng-meta%E2%80%90css

toxi, to zig
@toxi@mastodon.thi.ng avatar

Congrats to @andrewrk & team to the new Zig v0.13.0 release! So exciting! 🚀🤩

Thankfully there were only very minor changes to be done on my end this time around, and I've just updated the build file & readme for https://thi.ng/wasm-api to be compatible with this new Zig version (the older build files are still kept around for those who might need it...). Also tested all the bundled examples, all working fine!

#ThingUmbrella #Zig #Ziglang #WASM #TypeScript #OpenSource

toxi, to random
@toxi@mastodon.thi.ng avatar

Good night with the beautiful Rising Moon, the second collab album by Martin Goodwin & Infinity (the entire piece is warmly recommended):

https://agardenofsound.bandcamp.com/album/rising-moon

#Music4Coding

toxi, to typescript
@toxi@mastodon.thi.ng avatar

Testing/debugging the dynamic tessellation feature of the upcoming thi.ng/geom-webgl interop package... This will provide a single polymorphic function to convert https://thi.ng/geom shapes into WebGL binary data & model/attribute specs, with lots of options for memory layout, indexing, instancing and other advanced usage...

By default (and as shown here), polygons are tessellated via ear cutting[1], but users have a choice of 9 other algorithm presets (or their own custom ones), incl. iterative application of multiple tessellation strategies..

[1] https://en.wikipedia.org/wiki/Polygon_triangulation

A random, blobby, triangulated polygon, with each triangle tinted in a random colorful gradient
A random, blobby, triangulated polygon, with each triangle tinted in a random colorful gradient
A random, blobby, triangulated polygon, with each triangle tinted in a random colorful gradient

toxi,
@toxi@mastodon.thi.ng avatar
toxi,
@toxi@mastodon.thi.ng avatar

As part of the work on the upcoming thi.ng/geom-webgl package, today I've also been completely rewriting all tessellators in https://thi.ng/geom-tessellate and extending the package with more features, incl. an adapted version of https://github.com/mapbox/earcut to handle complex polygons (with holes, but can also be combined/nested with all the other tessellators, incl. the non-triangular ones)...

Instead of producing an array of faces (each itself an vertex array), all tessellators are now producing/populating/adding to a single tessellation, consisting of a vertex array and another array of face vertex IDs. This makes the result much more flexible for a number of use cases, incl. WebGL/WebGPU conversion.

Very happy with how the new API for both packages is turning out. The last image shows the source code for generating a single frame of the "SB" anim, starting with parsing two SVG paths, grouping & fitting them into a target bounding rect, then tessellating the entire group, rebuilding a new group from the resulting triangles, and finally serializing everything to SVG. For WebGL, there'll be a single asWebGLModel() function which performs shape tessellation automatically behind the scenes (fully configurable, though)...

The letter "B" tessellated into dozens of triangles, each tinted with a randon, iridescent, rainbow colored gradient
TypeScript source code snippet to create a single frame of the anim in the previous image: // create paths/shapes from SVG definitions (truncated here) const S = pathFromSvg(

Animated GIF of the letters "SB" tessellated into dozens/hundreds of pink triangles with black wireframes

toxi, (edited ) to ilaughed
@toxi@mastodon.thi.ng avatar

Went to check the Lech falls in Füssen on our evening walk last night, expecting heavier than normal flow after the weekend of super heavy rain & flooding in Bavaria... but really wasn't quite prepared for this kind of power & intensity (bringing back some memories of Dawson Falls [near Helmcken Falls, BC])

#Lech #Waterfall #Video #Füssen #Bavaria

toxi, to typescript
@toxi@mastodon.thi.ng avatar

Current status: Updating the https://thi.ng/geom readme to give a better overview of the full extensive API, ahead of the v8 release (soon)... Attached are screenshots of three sections of the readme showing:

  1. list of 32 shape types (both 2D and 3D)
  2. list of 54 polymorphic functions/operations to manipulate/convert/analyze shapes & shape hierarchies
  3. list of additional 40 shape creation functions

Still to come: Documenting the bundled preset implementations of:

  • vertex convolution kernels (3)
  • curve subdivision strategies (8)
  • polygon/polyline to bezier conversion strategies (3)
  • polygon tessellators (9)

(...and how most of these can be combined & applied iteratively. Some of the recent/existing examples are already hinting at the potential...)

Screenshot of a section of the linked GitHub readme, showing a table of 54 polymorphic functions/operations to manipulate/convert/analyze shapes & shape hierarchies
Screenshot of a section of the linked GitHub readme, showing a list of links to additional 40 shape creation functions

toxi, to random
@toxi@mastodon.thi.ng avatar

<mini_rant>
I really don't get why some people get so upset that they have to DM me about some of us regularly using hashtags here. In the absence of search, it's the only viable means to organize my own content here, but HTs also help others to discover & filter (ir)relevant posts. They also allow me to share project specific links like these below to non-followers or non-fediverse people:

I've been using hashtags very consciously and usually not an excessive amount. I'm also writing them in CamelCase to be more accessible. Putting a bunch of keywords at the end of my posts shouldn't cause issues to anyone. If their presence really does offend you, please share what (better) alternatives exist...

😤
</mini_rant>

toxi,
@toxi@mastodon.thi.ng avatar

@nclslbrn 🤣

toxi,
@toxi@mastodon.thi.ng avatar

@andrewbriscoe I'd completely understand some of the complaint with IG-style walls of tags (which are borderline spammy), but that doesn't really apply here to 99% of the cases I've seen (or done). So yeah, go figure...

toxi, to random
@toxi@mastodon.thi.ng avatar

Added a new small example for a new feature in https://thi.ng/geom, which allows embedding custom https://thi.ng/hiccup data/elements (e.g. for presentation/visualization purposes) into shape/geometry hierarchies...

In the example we're using some gradient definitions and then also show how the same geometry can be drawn to canvas and serialized to SVG

Demo:
https://demo.thi.ng/umbrella/geom-extra-hiccup/

Commented source:
https://github.com/thi-ng/umbrella/blob/develop/examples/geom-extra-hiccup/src/index.ts

(Again, as with the other recent new examples, this is about an still unreleased feature of the upcoming v8.0.0 of https://thi.ng/geom, one of the biggest updates in recent years...)

#ThingUmbrella #SVG #Gradients #Visualization

toxi, to random
@toxi@mastodon.thi.ng avatar

Forgot how Burial's Streetlands really is such an incredible album... perfect teleportation to a different plane on a rainy Monday night...

https://yt.artemislena.eu/watch?v=VdnpLIjkg2E

#Music4Coding

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • mdbf
  • ngwrru68w68
  • tester
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • JUstTest
  • tacticalgear
  • osvaldo12
  • normalnudes
  • cubers
  • cisconetworking
  • everett
  • GTA5RPClips
  • ethstaker
  • Leos
  • provamag3
  • anitta
  • modclub
  • lostlight
  • All magazines