@jwildeboer Couldn't have said it better! More widespread awareness, education and application of privacy & autonomy-related tools, topics/methods are such an important part of how these systems (democracies) can/must be kept/made more honest. Instead, the framing of "nothing to hide, not a problem" has largely taken over to erode these efforts, with large demographics actively choosing temporary convenience, also fueled by the promise to glean some benefit nuggets from network effects of these centralized platforms... As long as this attitude doesn't change, we all are stuck to some extend. Especially for the self-employed, artists, crafters, etc. participation in these platforms is often somewhat mandatory and directly linked to livelihood. But I also do think a first/interim step of cutting the cord to these platforms is to start diversifying. None of this has to be a zero sum game (not for people/users, at least)...
@jwildeboer I remember talking about these things as part of "computational literacy" discussions/interviews with several journalists (non-political) in the UK, who almost exclusively thought I'm a nutcase framing my understanding of the term also from that bigger POV... The way I see it is that having grown up in the GDR, I'd developed more of a sensitivity to these issues from an early age (hidden antenna on the balcony, illegally listening to RIAS Berlin radio, watching western TV only under headphones so that Stasi neighbors wouldn't hear...). In my experience, people who grew up in western countries and only ever knew clichés/propaganda of the East just often had (still have) a far too blue-eyed belief in their systems and their inherent supposed benevolence...
- Added null pointer checks & guards in https://thi.ng/wasm-api. This also includes support for structs with fields using Zig-style optional pointers. - Updated the https://thi.ng/wasm-api-bindgen code generator for #TypeScript to produce smaller code for structs using many string fields - Did major ground work on #Zig#WebAssembly bindings of core https://thi.ng/genart-api functionality (see small demo below) - Fixed/updated/simplified time provider logic - Updated the debug time provider with its FPS analytics/visualization overlay, now computing moving min/max and moving average (default period = 200 frames) and the viz is dynamically/smoothly rescaling to current peak - Released new GenArtAPI v0.9.0
As for the Zig/WASM example: This is only interesting from a technical POV, no visuals here! All canvas drawing and parameter declarations/evaluations are done via Zig, using the aforementioned https://thi.ng/wasm-api infrastructure to provide a new API module which can be seamlessly used with the other hybrid WASM API modules, here for DOM creation (https://thi.ng/wasm-api-dom) and to handle Canvas2D drawing (https://thi.ng/wasm-api-canvas).
At the moment, this GenArtAPI WASM module is still a fixed part of this example, but will eventually be extracted & distributed as separate package.
Choose one of the two GUI implementations, then make any parameter changes and you should see the new values applied immediately (btw. the demo is likely not very usable on mobile)...
Some thoughts about current state/trajectory of tech/software/ethics:
For ~30 years, I've been using, building and sharing open tools around algorithmic, generative & evolutionary design techniques, procedural generation, genetic algorithms/programming, machine learning... The incentives and potentials I saw (and still see!) in these areas/approaches are entirely orthogonal to what is called "generative AI" these days (saving that for a future post) and more importantly contrary to _how_ that tech is being used...
Like many others, I'm desperately trying to keep a positive & balanced mind (also in terms of my own practice as an indie developer/researcher & artist), but I think it says a lot (in multiple ways) about the current state of tech/software/ethics, if the people/voices most critical and outspoken about the current/recent trajectories & decisions are (yet again[1]) the actual practitioners/experts of the field, often with decades of experiences... At the very least the issues raised should give _some_ pause to people in politics/policy, academia/education, media and finance, i.e. all groups with much more direct control & responsibility, yet which are relatively silent in terms of critical voices/reflections and instead largely keep boosting and jumping on the AI hype train... I think I understand (though not agree with) many (self-serving) drivers of this "ignorance", but I've never seen this level of widespread _uncritical_ technology adoption before in my life, especially the bewildering amount of willful ignorance of people who are (or should be) more informed, their active downplaying and rationalisations of multiple glaring systematic train wrecks (aka "jackpot") coming our way (are already here!), incl. climate, water, human rights violations, disinformation, politics/democracy, surveillance, unemployment, health/healthcare etc., and on a different level, pretty important issues like loss of "personal computing", of access (and accessibility!) and individual control of computing & information resources — all of which are massively accelerated by this in(s)ane drive for AI-generated profits...
What's the point of the above named societal institutions if none of them actually want to critically engage with these developments, before their window of opportunity closes?
(Sorry in advance, just a braindump, not gonna be able to reply to comments in the next few days...)
VERY disappointed in GitHub refusing to support the LaTeX `\colorbox` (outright banned) or `\textcolor` macros (seemingly only very limited support) or any CSS solution to allow one to create colored text in Markdown files... I was hoping to create color swatches as shown in the attached preview (in VSCode), but just none of this works on GitHub...
(And yes, I understand there're some potential accessibility issues, but there're more social solutions to address these than an outright technical ban of colored text! It's 2024!)
Now, all user can get is a boring list of color names with their hex values sans pre-visualization... 😤😭
@laubblaeser Pretty bad chromatic aberration in the upper part, but not really sure why (lens is a Sigma 18-200mm f3.5-6.3 and usually only has occasional issues in the far corners). But also not a fan of editing too much, but in hindsight maybe should have... 😇
Recently someone here linked to this amazing article[1] and summary of the lifecycle of subcultures and various groups participating over time, and boy, does some of it feel real and cut deep...
@mattly Thank you, Matthew! I mean this absolutely genuinely, and if at all possible, I'd really like to know more specifics about that (happy via DM if more comfortable). Usually, I'm just getting the most vague "It's hard & different" comments, but then hardly ever get to learn about which parts and/or why they're hard to grasp for some people. Groundhog Day. I do want to improve the situation (if I can) for those of you struggling, but I do need your help!
I'm especially interested given your stated background. E.g. re: Clojure, you _must_ have come across at least hiccup style syntax (both for HTML & SVG), transducers, atoms, reactivity, polymorphic functions, multiple dispatch (defmulti) — these are all well-established, not new concepts, especially not in Clojure-land and so should not feel alien in thi.ng either, even though I've been extending/expanding/changing them in various places/aspects over the years (but also then went out of my way explaining why/how they differ).
So from my POV, I always think for most of the theory & pre-requisites, there should be _some_ sense of familiarity in general (unless someone has only ever worked with closed-world/blackbox frameworks which don't expose one's mind to any of these techniques). If there is not (familiarity), I'd _really_ like to figure out why that isn't the case...
It's also not just Clojure concepts (which might be unknown to, say, the average P5 user): Laziness, iterables, generators, functional composition, map/filter/reduce. All well-established & documented in various other languages and literature. Similarly, coroutines/fibers (cooperative multitasking), CSP (communicating sequential processes) are popular in Golang and embedded programming (FreeRTOS, NuttX), but I think they're super powerful, expressive and elegant for use cases in the JS/TS domain too, maybe more so than people realize because 90% of that community seems to be just chasing the latest fad/framework with layers of magic abstractions, a game I've consciously decided to not partake in (and actually been trying to counter) with these projects...
I've talked about this fairly recently, but happy to repeat: I'm _really_ trying my best to ease any of these supposed steep learning curves (e.g. Personally, I find getting a detailed understanding of internals [not just using] React a much harder challenge). 90% of the past 3 months of development have been about creating new examples, adding explanations, improving documentation, showing usecases, opportunities etc. n order to do so (more/better), I do need to learn more detailed feedback, hear about concrete problem cases of topics/implementations/examples/documentations which are unclear to you (and others)... Where do you/others get stuck? At which point of the journey/attempt?
With all that said, I'm _always_ super grateful to anyone who's willing to at least make this small effort & contribution of giving concrete feedback & raise issues. The general "it's hard/alien" comments are not really helpful at all (actually rather demotivating). On social media, this topic predictably seems to get stuck at the same stage each time, i.e. lack of concreteness to help analyzing, improving and moving forward... I hope we can break that vicious circle/cycle at some point! Thank you in advance for helping! 🙏🤩
Ps. Sorry for the wall of words. This topic is very close to my heart!
As noted in the comments, the SIMD batch processing here is to illustrate the overall usage and handling. In this specific example, the main bottleneck is the actual canvas drawing step (esp. in Firefox, which in this case is ~3.75x slower than Chrome [latter easily manages 60fps]). The SIMD step could handle magnitude(s) more points per frame, also on FF...
As an aside, this is now already the 140th (!!!) fully documented small example project, bundled as part of the https://thi.ng/umbrella monorepo... Please do tell me at which point the prejudice of not having enough starting points & info about these packages will be fading into oblivion... 😅
Also big thanks to Maximillian Schulte for sending me off on this topic (as a tangent) via an issue on GitHub... I've been meaning to create more examples for these above packages for a while! Last but not least, hat tip & nerd sniping @demofox re: colored noise... 😎🤩
Just donated $100 to the amazing Organic Maps project: Trackerless, fully offline, OSM based, open source mapping for Android/iOS. Great UX & routing, super fast & good coverage even of hiking paths, elevation lines & public transport layers...
From their website: "Organic Maps is one of a few applications nowadays that supports 100% of features without an active Internet connection. Install Organic Maps, download maps, throw away your SIM card (by the way, your operator constantly tracks you), and go for a weeklong trip on a single battery charge without any byte sent to the network."
@mos_8502 ? My own interest in #RetroComputing is _only_ (its relevance for) the future! Even though I do miss my Atari in some moments of weakness... :)
Interdisciplinary open so(u)rcery, computational art/craft/design, landscape photography, electronic music, education. See pinned toots for more info!Unless stated otherwise, all published images/media (except boosts/linked content) is my own work & copyright by me. Most posts delete after 3 months.Available for consulting/commissions. Searchable.he/him#ThingUmbrella #GenerativeArt #LandscapePhotography #NoAI #TypeScript #Zig #WebAssembly #Forth #GLSL #Houdini #DigitalFabrication #Geometry #CellularAutomata #EvolutionaryComputing #PermaComputing #AxiDraw #DSP #Synth #Music4Coding #Hiking #Nature