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 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 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 #cpp I think I’m ready for a new chapter. I have played around with #rust #golang #zig and #clojure 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 #software engineer would matter. Especially since I do not expect to move to another senior role, I’m checking junior positions too. #jobsearch

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 #Clojure code. Images in the background by Joseph Constantine Stadler (1780–1812).

#livecoding 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
flypaper, to anarchism
@flypaper@autonomous.zone avatar

Request: please help me find a grant

I have a friend who is most of the way done making an open source app that handles supply chain interactions without centralization. It uses a SSB backend so there aren’t any central servers and it’s not crypto. There’s no angle for him to get rich doing this, it’s just a good idea that he wants to exist in the world. Written in Clojure.

Current code: https://github.com/nanomonkey/scratch

Thanks

simon_brooke, to gamedev
@simon_brooke@mastodon.scot avatar

OK, then, new GitHub repository, simulated-genetics, looking at the problem of generating thousands of character models for games, while ensuring that characters who are supposed to be related to one another have similar appearance.

This is very, very pre-alpha, but far enough along to be interesting.



https://github.com/simon-brooke/simulated-genetics

lxsameer, to emacs
@lxsameer@social.lxsameer.com avatar

I'm using 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 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 too, although right now I prefer the vibes :clojure: :lisp:

borkdude, to random
@borkdude@mastodon.social avatar

can now be used in webworksers and Node.js, etc as well (as I've made the hard dependency on js/document in a browser optional)

simon_brooke, to python
@simon_brooke@mastodon.scot avatar

The available open source libraries for generating human models (MakeHuman, ManuelBastioniLab) appear to be written in . I need something like this, but I'm working primarily in . I'm wondering whether it would be easier to load one of the existing libraries into Jython and try to call that from , or just to bite the bullet and build my own from scratch.

Opinions, anyone?

weavejester, to random
@weavejester@mastodon.social avatar

Released Integrant 0.9.0, a dependency injection micro-framework. Adds expand-key and assert-key, along with a couple of breaking changes. https://github.com/weavejester/integrant

mykhaylo, to emacs
@mykhaylo@fosstodon.org avatar

This is new version of the previous package. Context specific transient menus. This must be super-convenient.

https://github.com/licht1stein/context-transient.el

mykhaylo,
@mykhaylo@fosstodon.org avatar
simon_brooke, to gamedev
@simon_brooke@mastodon.scot avatar

More on recent blog entries: my thoughts on choosing the right game engine for me. It may not be the right choice for you...


https://www.journeyman.cc/blog/posts-output/2024-04-18-the-game-engine-problem/

furmans, to FunctionalProgramming
@furmans@chaos.social avatar

We are super glad to inform you that LAMBDA WORLD CADIZ is BACK...

🗓️2-4 October 2024
📌Palacio de Congresos de Cadiz
🎟️Early Camarón at €150
🪩lambda.world

Should the best Rock-Funky-Hard SolYNaranjaS band make a noise there...? Should not ?

mykhaylo, (edited ) to emacs
@mykhaylo@fosstodon.org avatar

Made an library to easily define git repo specific menus:

https://github.com/licht1stein/context-transient.el

I use it a lot for projects

simon_brooke, to random
@simon_brooke@mastodon.scot avatar

folk, are you (or is anyone you know) making serious use of Clojure CLR (the port of Clojure to Microsoft's dot-net virtual machine)?

Is the project stable? Is there a good community, good tooling? Is anyone using it in production?

technomancy, to random EN
@technomancy@hey.hagelb.org avatar

one thing that I appreciate in is the ability to learn from the history of lisps

made a big splash and gathered criticism from the Old Guard of lispers by using parens a lot more sparingly than Common Lisp or Scheme; for example let bindings are done inside square brackets instead of a double-layer of parens:

(let [x 1 y 2] ...)

vs

(let ((x 1) (y 2)) ...)

apart from just being tidier, this had the benefit of greater consistency: in Clojure, when you saw an open paren, it usually meant a call to a function or macro, instead of ... some other structure in the language

however, Clojure still had plenty of exceptions to this; I think last I counted there were 7 or 8 distinct things an open paren could mean

in Fennel, we decided that wasn't what we wanted; parens always mean a call to a function/macro ... or in a binding context it could mean binding multiple values:

(local (ok val) (pcall my-function x y z))

but could we do better?

simon_brooke, to debian
@simon_brooke@mastodon.scot avatar

12 -- current stable -- provides Gradle 4.4.1. The current stable version of Gradle is 8.7.

Yes, the reason I choose and use Debian is because it is conservative, which means things don't break often. But that seems wildly out of date!

https://packages.debian.org/search?keywords=gradle

https://gradle.org/install/

simon_brooke,
@simon_brooke@mastodon.scot avatar

<sigh>
And when I install the latest Gradle, I still get failures, because the Gradle scripts of the current version of jMonkeyEngine (which is what I'm trying to build) are too modern for Gradle 4.4.1 but too old for Gradle 8.7.

Now I remember why I do everything in these days: very stable APIs!

lobocode, to Lisp
@lobocode@hachyderm.io avatar

In my ignorance, I didn't have faith in because it is a very old programming language, and in my circle of acquaintances and friends, I never saw anyone using it. Behold, as almost always, I was wrong!!! What magnificent language. It's no wonder that is there!

lobocode, to Lisp
@lobocode@hachyderm.io avatar

Conducting a small experiment using instead of script. Reason? Mere curiosity.

simon_brooke,
@simon_brooke@mastodon.scot avatar

@lobocode

@borkdude's interpreter can also be used pretty effectively as a shell.

lobocode,
@lobocode@hachyderm.io avatar

@simon_brooke Hey buddy, checked out / yesterday, super intriguing stuff. Actually, I've been digging into and its dialects lately. Got curious about why there are so many dialects, you know?

Recently dabbled in , which got me looking at Lisp in a new light. Unlike , which is awesome for sure, has been out of academia and in the market for quite a while... found it pretty cool.

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