simon_brooke, (edited ) to random
@simon_brooke@mastodon.scot avatar

The problem with standing on the shoulders of @cemerick is, I CAN'T SEE THE BLOODY GROUND FROM UP HERE!

#Clojure

simon_brooke,
@simon_brooke@mastodon.scot avatar

@cemerick However, I have -- despite my fear of heights -- seen further, at last.

Find the most current stable version identifier of a #Clojure (or #Java) package.

https://gist.github.com/simon-brooke/b7bc96e3ca92def994ff0b5b8f2bd4da

mykhaylo, to random
@mykhaylo@fosstodon.org avatar

What’s the right way of doing protection in ? It seems to be a lot of hassle.

leobm, to RegEx German
@leobm@norden.social avatar

The ?x modifier/flag is nice, never used it before.
Makes it possible to include commentary inside complicated patterns. #perl #regex

original source: https://polar.sh/eval/posts/named-capturing-groups-in-clojure
#clojure

shegeley, to scheme
@shegeley@fosstodon.org avatar

I was missing #clojure -alike data structures (immutable vectors and hash-tables) and basic operations on them (get, get-in, assoc, assoc-in, update, update-in) and a basic atom operations (ref, reset!, swap!) a lot in #Guile #Scheme.

So much that I have to write a library for it https://github.com/shegeley/clojureism

:lisp: :clojure:

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

A week ago was the 1st anniversary of this solo instance & 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...

Hi, I'm Karsten 👋 — indy software engineer, researcher, #OpenSource 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 & 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").

Much of my own practice & philosophy is about #BottomUpDesign, interconnectedness, simplicity and composability as key enablers of emergent effects (also in terms of workflow & tool/system design). Been adopting a round-robin approach to cross-pollinate my work & 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 & protocols (as connective tissue), "fullstack" webdev (front/back/AWS), generative & evolutionary algorithms/art/design/aesthetics/music, geometry/graphics, parsers, renderers, simulation (agents/CFD/particles/physics), shaders, typography, UI/UX/IxD...

Since 2018 my main endeavor has been https://thi.ng/umbrella, 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 #TypeScript, #C, #Zig, #WebAssembly, #Clojure, #ClojureScript, #GLSL, #OpenCL, #Forth, #Houdini/#VEX. Earlier on, mainly Java (~15 years, since 1996).

Formative years in the deep end of the #Atari 8bit demoscene (Chip Special Software) & game dev (eg. The Brundles, 1993), B&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).

Worked on dozens of interactive installations/exhibitions, public spaces & mediafacades (own projects and many collabs, several award winning), large-scale print on-demand projects (>250k unique outputs), was instrumental in creating some of the first generative brand identity systems (incl. cloud infrastructure & 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 & 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.

deadblackclover, to Lisp
@deadblackclover@functional.cafe avatar
bbatsov, to python
@bbatsov@hachyderm.io avatar
simon_brooke, to random
@simon_brooke@mastodon.scot avatar

In Ertuğrul Çetin's jme-clj library, there's a lovely little macro get* that constructs the names of Java getter methods on the fly in order to interrogate arbitrary objects. I tried to generalise it to collect values of several properties in a single call, and discovered just how much I have still to learn about the #Clojure evaluator!

https://gist.github.com/simon-brooke/5896998720be3efda3bfab9cfc182b2c

simon_brooke, to random
@simon_brooke@mastodon.scot avatar

I'm much less unwell than I was last night, but I'm still definitely too unwell to write macros!

jbzfn, to FunctionalProgramming
@jbzfn@mastodon.social avatar
__sharky__, to ChatGPT
@__sharky__@mastodon.social avatar

Have you used #chatgpt for learning new things ? I am trying to use it to learn #clojure . I have heard it is not very good in writing clojure code , but for me it is more to have exercises I enjoy and are not too hard to solve and if I don't have a clue I can ask for help.

borkdude, to random
@borkdude@mastodon.social avatar

New #cljKondo release!

#clojure

craigbro, to random
@craigbro@emacs.ch avatar

Recent CVE in #git allowing RCE when cloning a repo, see https://github.com/git/git/security/advisories/GHSA-8h77-4q3w-gfgv

Note it says, "As always, it is best to avoid cloning repositories from untrusted sources."

Now consider how many languages will clone a repo of a transitive dependency, or direct dependency at time of dep resolution -- often before any dep analysis/presentation tools could give you a means to evaluate the transitive git deps.

Like #clojure, one of my favorites. I have not review dep resolution/fetch code in other languages, but it seems that they should all heed the advice in that advisory.

yogthos, to random
@yogthos@mas.to avatar

Going to the cinema is a data visualization problem.

#clojure

https://tonsky.me/blog/allekinos/

papachan, to random
@papachan@fosstodon.org avatar
worldsendless, to emacs
@worldsendless@qoto.org avatar

One of the issues with the (and which is just a great big text-oriented repl) is that it is additive in nature; it usually takes major effort or a restart to REMOVE things once they've been added (thinking on plugins which modify app state).

robert, to rust
@robert@toot.kra.hn avatar

> Unfortunately, most people seem to have taken the wrong lesson from Rust. They see all of this business with lifetimes and ownership as a dirty mess that Rust has had to adopt because it wanted to avoid garbage collection. But this is completely backwards! Rust adopted rules around shared mutable state and this enabled it to avoid garbage collection. These rules are a good idea regardless.

Yes, so much this! I'm using #Rust not because I'm building low-level resource constrained systems (far from it) but because it allows for local reasoning about state. Paired with the ML inspired syntax that makes pattern matching easy this leads to far more reliable programs.

This is also why I like #Clojure so much. Clojure's refs / atoms /agents allow for scoping mutability in an otherwise purely functional system. Scratch for the same itch. But Rust's compile time checking avoids pushing issues into the runtime, increasing reliability and hugely reduces time needed for debugging. The trade off here is no interactive / live development.

https://without.boats/blog/references-are-like-jumps/

cdrmack, to cpp
@cdrmack@fosstodon.org avatar

After 10 years of commercial experience in I think I’m ready for a new chapter. I have played around with and but most job offers that I see are for people with at least X years of commercial experience in this exact languages. Do you have any hints how to approach this? I would think that my previous experience as a engineer would matter. Especially since I do not expect to move to another senior role, I’m checking junior positions too.

kandid, to random
@kandid@chaos.social avatar
kandid, to random
@kandid@chaos.social avatar

A teletypewriter of an LGP-30 machine.

Edward Lorenz worked on differential equations for atmospheric convection. Programming the LGP-30 was done by Ellen Fetter.

That's why I decided that these shapes should move on an Lorenz attractor.

https://gitlab.com/metagrowing/jean/-/blob/main/sketchbook/lgp-30-lorenz/LGP-30.clj?ref_type=heads

#Clojure #livecoding

Shapes move along a non-periodic path across the plane. In doing so, they reveal the underlying images. A mechanical teletype and the drawing of a flower.

kandid, to random
@kandid@chaos.social avatar

Another example that was created with Jean. Jean is a live coding software for visuals and sound. This example was recorded without sound and without the code. Images in the background by Joseph Constantine Stadler (1780–1812).

visuals.

https://gitlab.com/metagrowing/jean/-/blob/main/sketchbook/Joseph_Constantine_Stadler/blend-colorfull.clj?ref_type=heads

Drawings of flowers and a hummingbird are painted over with blue and orange shapes.

kandid, to random
@kandid@chaos.social avatar
yogthos, to random
@yogthos@mas.to avatar
lxsameer, to emacs
@lxsameer@social.lxsameer.com avatar

I'm using #Emacs since 2008, I've been maintaining an Emacs bundle since 2010 (currently working on v4.1). Emacs is genuinely one of the programs that still gives me the goosebumps. After all these years, I still learn new stuff about it that blows my mind.

badrihippo,
@badrihippo@fosstodon.org avatar

@lxsameer that's cool! I recently started using #emacs because I found file navigation annoying in other IDEs. I know how to touch type, so now I literally just have to type in what I want (with all the autocompletion benefits just like a shell). Still learning the basics but finding even that awesome!

By the way, I've been programming a bit of #Clojure too, although right now I prefer the #clisp vibes :clojure: :lisp:

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