bolha.us is one of the many independent Mastodon servers you can use to participate in the fediverse.
We're a Brazilian IT Community. We love IT/DevOps/Cloud, but we also love to talk about life, the universe, and more. | Nós somos uma comunidade de TI Brasileira, gostamos de Dev/DevOps/Cloud e mais!

Server stats:

251
active users

#bottomupdesign

0 posts0 participants0 posts today
Karsten Schmidt<p>Another workshop done and glad I got a chance to introduce colleagues to the I Ching hexagrams as an example for <a href="https://mastodon.thi.ng/tags/BottomUpDesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BottomUpDesign</span></a> and as system for constructing/composing higher level concepts/meanings from just a small set of fundamental archetypes (in the I Ching there're only 8 fundamental trigrams)... It's been hugely influential and a guiding principle for my own work &amp; design philosophy (incl. for most of my <a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenSource</span></a> projects) and I keep finding ever new uses for applying this approach, here to devise a composable classification system, eventually allowing us to define more complex concepts... In world defined by <a href="https://mastodon.thi.ng/tags/TopDownThinking" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TopDownThinking</span></a>, going the opposite way and showing people the benefits/flexibility is sometimes/oftentimes _very_ hard, but to me unquestionably more powerful...</p><p>Ps. Also reminded again of the whole Seed technology and essence/function (aka "ti-yong") contrast/discussion/subplots in Stephenson's Diamond Age... Yong is the outer manifestation of something. Ti is the underlying essence...</p><p><a href="https://en.wikipedia.org/wiki/Hexagram_(I_Ching)" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">en.wikipedia.org/wiki/Hexagram</span><span class="invisible">_(I_Ching)</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/Composition" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Composition</span></a> <a href="https://mastodon.thi.ng/tags/Language" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Language</span></a> <a href="https://mastodon.thi.ng/tags/IChing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>IChing</span></a> <a href="https://mastodon.thi.ng/tags/Hexagram" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Hexagram</span></a></p>
Karsten Schmidt<p>A week ago was the 1st anniversary of this solo instance &amp; more generally of my fulltime move to Mastodon. A good time for a more detailed intro, partially intended as CV thread (pinned to my profile) which I will add to over time (also to compensate the ongoing lack of a proper website)... Always open to consulting offers, commissions and/or suitable remote positions...</p><p>Hi, I'm Karsten 👋 — indy software engineer, researcher, <a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenSource</span></a> author of hundreds of projects (since ~1999), computational/generative artist/designer, landscape photographer, lecturer, outdoor enthusiast, on the ND spectrum. Main interest in transdisplinary research, tool making, exploring techniques, projects &amp; roles amplifying the creative, educational, expressive and inspirational potential of (personal) computation, code as material, combining this with generative techniques of all forms (quite different to what is now called and implied by "generative AI").</p><p>Much of my own practice &amp; philosophy is about <a href="https://mastodon.thi.ng/tags/BottomUpDesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BottomUpDesign</span></a>, interconnectedness, simplicity and composability as key enablers of emergent effects (also in terms of workflow &amp; tool/system design). Been adopting a round-robin approach to cross-pollinate my work &amp; learning, spending periods going deep into various fields to build up and combine experience in (A-Z order): API design, audio/DSP, baremetal (mainly STM32), computer vision/image processing, compiler/DSL/VM impl, databases/linked data/query engines, data structures impl, dataviz, fabrication (3DP, CNC, knit, lasercut), file formats &amp; protocols (as connective tissue), "fullstack" webdev (front/back/AWS), generative &amp; evolutionary algorithms/art/design/aesthetics/music, geometry/graphics, parsers, renderers, simulation (agents/CFD/particles/physics), shaders, typography, UI/UX/IxD...</p><p>Since 2018 my main endeavor has been <a href="https://thi.ng/umbrella" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/umbrella</span><span class="invisible"></span></a>, a "jurassic" (as it's been called) monorepo of ~185 code libraries, addressing many of the above topics (plus ~150 examples to illustrate usage). More generally, for the past decade my OSS work has been focused on <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a>, <a href="https://mastodon.thi.ng/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a>, <a href="https://mastodon.thi.ng/tags/Zig" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Zig</span></a>, <a href="https://mastodon.thi.ng/tags/WebAssembly" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebAssembly</span></a>, <a href="https://mastodon.thi.ng/tags/Clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Clojure</span></a>, <a href="https://mastodon.thi.ng/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ClojureScript</span></a>, <a href="https://mastodon.thi.ng/tags/GLSL" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GLSL</span></a>, <a href="https://mastodon.thi.ng/tags/OpenCL" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenCL</span></a>, <a href="https://mastodon.thi.ng/tags/Forth" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Forth</span></a>, <a href="https://mastodon.thi.ng/tags/Houdini" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Houdini</span></a>/#VEX. Earlier on, mainly Java (~15 years, since 1996).</p><p>Formative years in the deep end of the <a href="https://mastodon.thi.ng/tags/Atari" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Atari</span></a> 8bit demoscene (Chip Special Software) &amp; game dev (eg. The Brundles, 1993), B&amp;W dark room lab (since age 10), music production/studio (from 1993-2003), studied media informatics, moved to London initially as web dev, game dev (Shockwave 3D, ActionScript), interaction designer, information architect. Branched out, more varied clients/roles/community for my growing collection of computational design tools, which I've been continously expanding/updating for the past 20+ years, and which have been the backbone of 99% of my work since ~2006 (and which helped countless artists/designers/students/studios/startups). Creator of thi.ng (since 2011), toxiclibs (2006-2013), both large-scale, multi-faceted library collections. Early contributor to Processing (2003-2005, pieces of core graphics API).</p><p>Worked on dozens of interactive installations/exhibitions, public spaces &amp; mediafacades (own projects and many collabs, several award winning), large-scale print on-demand projects (&gt;250k unique outputs), was instrumental in creating some of the first generative brand identity systems (incl. cloud infrastructure &amp; asset management pipelines), collaborated with architects, artists, agencies, hardware engineers, had my work shown at major galleries/museums worldwide, taught 60+ workshops at universities, institutions and companies (mainly in EMEA). Was algorithm design lead at Nike's research group for 5 years, working on novel internal design tools, workflows, methods of make, product design (footwear &amp; apparel) and team training. After 23 years in London, my family decided on a lifestyle change and so currently based in the beautiful Allgäu region in Southern Germany.</p>
Karsten Schmidt<p><a href="https://mastodon.thi.ng/tags/HowToThing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HowToThing</span></a> <a href="https://mastodon.thi.ng/tags/Epilogue" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Epilogue</span></a> <a href="https://mastodon.thi.ng/tags/LongRead" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LongRead</span></a>: After 66 days of addressing 30 wildly varied use cases and building ~20 new example projects of varying complexity to illustrate how <a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> libraries can be used &amp; combined, I'm taking a break to concentrate on other important thi.ngs...</p><p>With this overall selection I tried shining a light on common architectural patterns, but also some underexposed, yet interesting niche topics. Since there were many different techniques involved, it's natural not everything resonated with everyone. That's fine! Though, my hope always is that readers take an interest in a wide range of topics, and so many of these new examples were purposefully multi-faceted and hopefully provided insights for at least some parts, plus (in)directly communicated a core essence of the larger project:</p><p>Only individual packages (or small clusters) are designed &amp; optimized for a set of particular use cases. At large, though, thi.ng explicitly does NOT offer any such guidance or even opinion. All I can offer are possibilities, nudges and cross-references, how these constructs &amp; techniques can be (and have been) useful and/or the theory underpinning them. For some topics, thi.ng libs provide multiple approaches to achieve certain goals. This again is by design (not lack of it!) and stems from hard-learned experience, showing that many (esp. larger) projects highly benefit from more nuanced (sometimes conflicting approaches) compared to popular defacto "catch-all" framework solutions. To avid users (incl. myself) this approach has become a somewhat unique offering and advantage, yet in itself seems to be the hardest and most confusing aspect of the entire project to communicate to newcomers.</p><p>So seeing this list of new projects together, to me really is a celebration (and confirmation/testament) of the overall <a href="https://mastodon.thi.ng/tags/BottomUpDesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BottomUpDesign</span></a> <a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> approach (which I've been building on since ~2006): From the wide spectrum/flexibility of use cases, the expressiveness, concision, the data-first approach, the undogmatic mix of complementary paradigms, the separation of concerns, no hidden magic state, only minimal build tooling requirements (a bundler is optional, but recommended for tree shaking, no more) — these are all aspects I think are key to building better (incl. more maintainable &amp; reason-able) software. IMO they are worth embracing &amp; exposing more people to and this is what I've partially attempted to do with this series of posts...</p><p>ICYMI here's a summary of the 10 most recent posts (full list in the <a href="https://thi.ng/umbrella" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/umbrella</span><span class="invisible"></span></a> readme). Many of those examples have more comments than code...</p><p>021: Iterative animated polygon subdivision &amp; heat map viz<br><a href="https://mastodon.thi.ng/@toxi/111221943333023306" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11122194</span><span class="invisible">3333023306</span></a></p><p>022: Quasi-random voronoi lattice generator<br><a href="https://mastodon.thi.ng/@toxi/111244412425832657" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11124441</span><span class="invisible">2425832657</span></a></p><p>023: Tag-based Jaccard similarity ranking using bitfields<br><a href="https://mastodon.thi.ng/@toxi/111256960928934577" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11125696</span><span class="invisible">0928934577</span></a></p><p>024: 2.5D hidden line visualization of DEM files<br><a href="https://mastodon.thi.ng/@toxi/111269505611983570" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11126950</span><span class="invisible">5611983570</span></a></p><p>025: Transforming &amp; plotting 10k data points using SIMD<br><a href="https://mastodon.thi.ng/@toxi/111283262419126958" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11128326</span><span class="invisible">2419126958</span></a></p><p>026: Shader meta-programming to generate 16 animated function plots<br><a href="https://mastodon.thi.ng/@toxi/111295842650216136" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11129584</span><span class="invisible">2650216136</span></a></p><p>027: Flocking sim w/ neighborhood queries to visualize proximity<br><a href="https://mastodon.thi.ng/@toxi/111308439597090930" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11130843</span><span class="invisible">9597090930</span></a></p><p>028: Randomized, space-filling, nested 2D grid layout generator<br><a href="https://mastodon.thi.ng/@toxi/111324566926701431" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11132456</span><span class="invisible">6926701431</span></a></p><p>029: Forth-like DSL &amp; livecoding playground for 2D geometry<br><a href="https://mastodon.thi.ng/@toxi/111335025037332972" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11133502</span><span class="invisible">5037332972</span></a></p><p>030: Procedural text generation via custom DSL &amp; parse grammar<br><a href="https://mastodon.thi.ng/@toxi/111347074558293056" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.thi.ng/@toxi/11134707</span><span class="invisible">4558293056</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenSource</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.thi.ng/tags/Tutorial" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Tutorial</span></a></p>