shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

285
active users

#generativedesign

1 post1 participant0 posts today

‼️ Announcing the thi.ng user survey 2024 📋

forms.gle/XacbSDEmQMPZg8197

**To achieve a better sample size, I'd highly appreciate if you could circulate the link to this survey in your own networks.**

It's already been almost 9 years since the last user survey for these projects. Please help me/us to get more insights into your own experiences, your interests, hopes and pain points — allowing the projects and everyone involved to move forward more intentionally.

There're 15 questions here, with ~10 of them marked as mandatory. The main focal points are the matrices in the middle of the survey. Please also do use the final freeform comments box to share any further feedback you might have. Thank you very much for your interest, trust & taking the time to provide some much needed answers! 🙏

The survey is anonymous and will remain open until 23:59 (CET) on February 29, 2024. I will then share a public summary of the results on my Mastodon in the days following (do keep an eye on the #ThingUmbrella hashtag)...

Google Docsthi.ng user survey 2024It's already been almost 9 years since the last user survey for these projects. Please help me/us to get more insights into your own experiences, your interests, hopes and pain points — allowing the project and everyone involved to move forward more intentionally. There're 15 questions here, with ~10 of them marked as mandatory. The main focal points are the matrices in the middle of the survey. Please also do use the final freeform comments box to share any further feedback you might have. Thank you very much for your interest, trust & taking the time to provide some much needed answers! 🙏 To achieve a better sample size, I'd highly appreciate if you could circulate the link to this survey in your own networks. The survey is anonymous and will remain open until 23:59 (CET) on February 29, 2024. I will then share a public summary of the results on my Mastodon in the days following (do keep an eye on the #ThingUmbrella hashtag)... Thanks & Best, Karsten

Nothing new, but maybe a little unusual: Using boids as alternative to Lloyd relaxation and/or Poisson-disk sampling. The boids here are using only two behaviors: local separation, plus a randomized attractor to create global disturbances. Cell density could also be varied by spatially adjusting the separation distance between boids. Overall convergence/relaxation can be much faster than shown here...

Just stumbled upon one of the first (of maaany) early design concepts I did in early 2007 for Faber Finds (which was [maybe still is?] Faber & Faber's imprint of digital on-demand book reprints). The project brief & mission was to create a unique full book jacket (incl. cover/spine/back) for every title and every single book printed. The final design direction we ended up with was very different (frames of flourishes), but this particular design system was based on a Braitenberg vehicle sim with its params seeded by a book's ISBN (plus some additional randomized params)...

"The limits of my language mean the limits of my world" — Wittgenstein

I keep on thinking (again!) about the importance & potential of dedicated programming languages in (not just my own) generative art/design processes and want to make time to write more about it.

Example: Creating a custom DSL to describe recursive spatial tree transformations (here only 8 operators) to literally grow complex objects from a _single_ seed shape/box. These objects and their growth visualizations are a few of my fave examples from this 2013/14 research (a project to revisit):

thi.ng/morphogen

The animations are simply visualizing the resulting object of the partially transformed operator trees by artificially limiting recursion depth (increasing it over time)...

Ps. The 3.5m tall and 2.4m diameter 3D printed chandelier shown in the last image was generated with the same language & related thi.ng toolchain...

#HowToThing #029 — One for the #Forth friends: Minimal livecoding playground for animated 2D geometry generation (incl. SVG export) using a Forth-like DSL (domain-specific language) based on thi.ng/pointfree, thi.ng/pointfree-lang and various geometry related operations using thi.ng/geom. A short screen recording is included to demonstrate overall usage. This is a cutdown version of a prototype tool, originally from 2019...

Even though the language is "Forthy", the underlying thi.ng/pointfree implementation does _not_ use a VM, but instead compiles words to vanilla JavaScript using normal functional composition (or reductions) and each word is passing data & state via a single shared stack context object (with the usual dual data & return stacks and an environment object with var bindings). The language supports quotations, local variables, combinators etc.

I _highly_ recommend consulting the detailed readme docs for the above packages to familiarize yourself with the basic principles & language features/syntax. If you do have some prior #Forth knowledge, many aspects should feel familiar (apart from the geometry DSL terms)...

Also worth pointing out that the editor/interpreter in this small example is not super forgiving re: error handling and might easily crash when live coding. The point of this demo is not about providing great UX, but to illustrate how the basic thi.ng/pointfree language infrastructure can be easily extended/adapted/integrated...

Demo:
demo.thi.ng/umbrella/pointfree

Source code:
github.com/thi-ng/umbrella/tre

(Note: The source code of the actual language bindings for the geometry operations is not shown here, but available in the `lang.ts` file, linked above...)

#HowToThing #028 — Randomized, space-filling, nested 2D grid layout generator using thi.ng/layout & thi.ng/transducers

Already gave a glimpse of this yesterday[1]. This example uses the new `StackedLayout` generator to create random multi-column base layouts and allocate cells of varying sizes (column/row spans). Depending on size, each cell also has a probability to produce nested child layouts in its place (up to 4 levels). The example also shows how the layout gen can be queried to determine & allocate any remaining empty space(s) at the bottom of each nesting level (since it's highly likely that there's such)... The result is a completely space-filling grid layout (which the new thi.ng website will likely be based on too, obviously with some of the more sane/usable/responsive configurations...)

Demo (reload for random config):
demo.thi.ng/umbrella/layout-gr

Source code:
github.com/thi-ng/umbrella/blo

If you have any questions about this topic or the packages used here, please reply in thread or use the discussion forum (or issue tracker):

github.com/thi-ng/umbrella/dis

Ps. It's also #ReleaseMonday — check main thi.ng/umbrella readme for latest updates/changelogs... 🚀

[1] mastodon.thi.ng/@toxi/11131735

As usual, deep in the blurry spectrum between outright and intended utility (aka layout algorithm), dataviz (tree depth) and art. I love them all, and as so often, the extrema are just a tiny param change away from each other! Pushing toward art territory often a great way to uncover issues and debug an algorithm. E.g. I had originally issues with propagating size changes of nested cells back up to their parent/ancestors (solved now)...

(Ps. also a teaser for next #HowToThing... probably out tomorrow)