Scratching my itch: A #clojurescript QR-code reencoder. Go to thenybble.de/qr-code/, point your camera at a qr code, download an image to present to other scanners.
Entirely client-side. I know the UI is shitty.
Something that's lacking in the Reagent (and re-frame) model is explicit managing of the state of your data sources.
Say you are fetching something from an API, and then you stick that in an ratom, so your UI renders it. That works for the happy path, but then you realize it might error, and you need to show that to the user, and you might want to show that it's loading. And maybe you want to detect a timeout. So you end up with
:new - ratom created, not fetching yet
:loading - fetch in progress
:result - happy path, we haz data
:error - something went wrong
:timeout - we stopped waiting
Say you have a reaction that computes some value based on the result from two API requests. That reaction shouldn't compute until both have valid results. And so that reaction itself has a state, which is the composite of its upstream states.
And in any component you should be able to provide these five states explicitly (if you want to) - here's what to render while data is loading, here's how to show errors, etc.
We're experimenting with ways to handle this systematically in a way that composes.
@howard I have been looking at this and thinking about it! First, I am not sure I'm enough of a #ClojureScript expert to really have a worthwhile opinion yet. But I think the nice thing about cljs is that it's nearly #Clojure, so skills transfer over.
It is super tricky to review #css code! Do you feel the same?
But reasoning about CSS code without running it and playing with it in the browser's Console? Impossible.
It turns out that using var-quoting with reagent (React) components isn't such a good idea.
Var-quoting makes the component function not `identical?` to itself, which causes unnecessary remounts.
(defn foo-component [,,,])
(identical? foo-component foo-component) #=> true
(identical? #'foo-component #'foo-component) #=> false (<-- react will remount)
I'm having a problem trying to install GraalVM on my NixOS that already has OpenJDK.
The core of the problem is a collision between graalvm/bin/jhsdb and openjdk/bin/jhsdb.
Does anyone knows how to solve collisions in NixOS?
I'm using home manager version 23.05-pre.
Ek het hier begin: https://github.com/babashka/nbb/blob/main/doc/aws_lambda.md
OK, let’s try an #introduction
1) I am interested in #language #learning (see tutorials at https://langintro.com)
2) I like #traveling (https://langintro.com/tripreports/)
3) I’m a #cat person (see the not-updated-in-ages https://catcode.com/catblog.html)
4) Wrote an introduction to #ClojureScript (https://langintro.com/cljsbook/)
5) Enjoy riding my bicycle for exercise.
I put the latest blog entry by @nikitonsky on /r/clojure yesterday: "A case for ClojureScript 2.0".
The Right Honourable creator of shadow-cljs, Thomas Heller, chimed in with a rebuttal which could easily be its own blog post: https://www.reddit.com/r/Clojure/comments/14jfs48/a_case_for_clojurescript_20/jplxjm3/
The output and energy of @borkdude is unreal. 🤯 👏
Things like this also give newcomers like me confidence in an active community.
Sketches are encoded in the URL, so you can easily share them:
I'm gonna try it out. I'm not sure if it's worth the effort to convert our project from devcards to portfolio but it definitely had couple useful features that devcards lacks (like search, render in iframe, and easier to navigate between one scene to another)
Most posts in 2015/16:
Various thi.ng projects/libraries:
Collection of various workshops:
Graphs, Text adventure, dataviz
Generative music w/ Overtone
ClojureScript / Npm integration feels like it has come a looong way. Especially with shadow-cljs.
I was able to get a sanity.io client spun up really easily.
#ReleaseSunday Good things come to those who wait... After 10+ years, incl. 4+ years of release candidates and now prompted by a recent PR by @dimovich, earlier today I've released https://thi.ng/geom-clj v1.0.0 proper — a large, comprehensive #opensource 2D/3D geometry toolkit for both #Clojure & #ClojureScript. It's a massive project with too many features to list here, see readme & attached images for a partial list...
This was the first public project under the thi.ng moniker and from 2011-2016 I worked almost daily on it (though in it's current form it's the 4th rewrite). It also was the first project for which I decided to adapt a #LiterateProgramming process, using Emacs #OrgMode, allowing me to develop and intersperse source code with prose, sections, table of contents, reference/research links, tasks, diagrams, visualizations, tables & parametric code templates. Amazing productivity booster & dearly missed since... I continued using LP for several other large thi.ng libraries (most notably https://thi.ng/fabric), but in 2018 I decided to give up, since it proved to be a major hurdle for 3rd party contributions... 😢
In hindsight, the project, design and learnings from Clojure heavily inspired and directly expanded into my later (current!) #TypeScript work and the group of 20 new libraries under the same name (i.e. see https://thi.ng/geom). The latter is _not_ a direct port and currently still has a much stronger focus on 2D, yet again is one of the largest groups of libraries in the entire https://thi.ng/umbrella monorepo...
#genuary2023 Art Deco. In 2013/4 I (over)worked on one of the largest and most exhausting #GenerativeArt projects of my life: Co(de)factory was an interactive installation piece for the Digital Revolutions/DevArt exhibition, commissioned by Google & The Barbican Centre London. The centerpiece was a DIY 3D resin printer used to publicly fabricate objects designed by visitors via a custom WebGL-based visual programming environment (which was pain to get running on Chrome on the Nexus tablets embedded in the plinths). This design tool (written in back then still pre-mature #ClojureScript) was based around my https://thi.ng/morphogen DSL which defines 8 basic tree operators (e.g. reflection, subdivision, skewing, tapering etc.) to generate complex geometries via recursive transformations of a single arbitrary seed box. Not going to talk much more about the project here (maybe another time), other than to say the large 3D printed canopy structure/sculpture (3 meters tall, 2.4m diameter) surrounding the printer, as well as the cladding for the plinths were all created from hundreds of small modules designed with the Morphogen DSL and used the "golden era" of 1920s American Art Deco as main inspiration... You can find the entire source code for all components (incl. the design tool, server backend, fabrication files etc.) on GitHub:
Failed once starting a company, hope to try succeeding once again.
Happy owner of 2 fox terrier #dogs
Hello, I am Chandrasekar. I am a #frontend developer working #remote for a company in #Chennai. I now live in #Malaysia with my wife. I am interested in talking about #films #books #boardgames and the #web.