mastouille.fr est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.
Mastouille est une instance Mastodon durable, ouverte, et hébergée en France.

Administré par :

Statistiques du serveur :

573
comptes actifs

#oop

0 message0 participant0 message aujourd’hui
Suite du fil

I also got experience with the following (5 = a lot, 1 = a little) :

#machinelearning #ml (3) (I have implemented some ML models myself in the past, for learning purposes.)
#guix (3) (Using it for reproducible setups of projects.)
#functionalprogramming #fp (5) (Doing it in my own projects.)
#objectorientedprogramming #oop (4) (last job and past xp in my own projects.)
#CI / #CD (3) (Last job)
#make (4) (using it for my own project setups and convenience)
#testing (4) (last job, own projects)

The LOOPS primer, published in 1987, captured well the essence of exploratory programming in Lisp:

The LOOPS interface provides both a programming tool and a thinking tool. As you develop a new system, each preliminary version provides an object for thought and discussion. The preliminary versions are a crucial part of the design process.

LOOPS (Lisp Object-Oriented Programming System) is the OOP extension of Interlisp.

bitsavers.org/pdf/xerox/interl

#commonLisp #programming #amop #mop #metaobjectProtocol #exercise #closette #learnToCode (my own experience) #oop
screwlisp.small-web.org/amop/e

Today I simply share and solve (hopefully!) The Art of the Metaobject Protocol exercise 1.1

(the softball generic classes #memoization exercise from chapter 1)

I just added a lexical closure of hash tables.

@simoninireland wrote about the art of the metaobject protocol in his #lisp bibliography a year ago. simondobson.org/2024/07/23/the

screwlisp.small-web.orgArt of the metaobject protocol Exercise 1.1: Memoize Closette apply-generic-function

New Kitten Release 🥳

kitten.small-web.org

(Run `kitten update` to update your dev machines. Production machines will automatically update in a couple of hours.)

• You can now add a generic script block to your markdown pages (see mastodon.ar.al/@aral/114432417)

• Markdown pages can now be `KittenPage` instances and attach `KittenComponent` instances (so you get a full server-side component hierarchy with an event-based workflow; ideal for authenticated pages where you can be use only the author of the page will be accessing them and thus the additional memory and processing overhead are not issues. Isn’t the Small Web great? Only having instances of one makes it possible to optimise so many things for the human experience instead of vertical scale of the data farming machine.)

• Two new examples showcase the new features: codeberg.org/kitten/app/src/br and codeberg.org/kitten/app/src/br

• Attributes with object values are no longer serialised into the DOM (but your components’ render functions will continue to receive them, of course.) This is because only string values make sense for attributes in the context of the HTML DOM. (You can still, of course, have stringified representations of objects in attributes, as used by the `data` attribute to pass data from nodes to event handers on the server.)

kitten.small-web.orgKitten: Home

one of my favorite quotes about #OOP is that a class hierarchy isn't made to unleash your inner Linnaeus ;) - but this most certainly is: jillianhess.substack.com/p/car - cute lil video about Linnaeus' note taking system. (As a german political scientist I'm course Luhmann's Zettelkasten inspired 😂) Cool bits of information design however - If you love Tufte's book, you'll love this :))

Noted · Carl Linnaeus's Note-Taking InnovationsPar Jillian Hess

🔍 Bounded Context: Problem oder Lösung?

In @ewolff zweitem Talk auf der #OOP in #München spielen Bounded Contexts eine zentrale Rolle. Dabei werden drei Bedeutungen aufgezeigt: als fachliche Geltungsbereiche, technische Module und Aufgabenbereiche von Teams. Diese vielseitigen Definitionen können jedoch auch zu Verwirrung und erhöhter Komplexität in Projekten führen.

Link zum vollständigen Beitrag: swaglab.rocks/bounded-context-

If you really must have plain #Perl #OOP methods with the same name that differ because of their argument signatures (also somewhat analogous to C++ function overloading), you can use Class::MultiMethods: metacpan.org/pod/Class::Multim

More from @manwar (including native #RakuLang multimethods) here: gist.github.com/manwar/db11c8e

#programming #coding #SoftwareDevelopment fosstodon.org/@manwar/11407695

MetaCPANClass::MultimethodsSupport multimethods and function overloading in Perl

Unser Recap-Video ist da – drei inspirierende Tage auf der #OOP 2025 in #München! 🚀📽️

Vielen Dank an die Veranstalter und alle Teilnehmer, die den Austausch so bereichert haben 🙏💬.

Besonders beeindruckend: @ewolff zwei Vorträge
• „Die Evolution von Architektur durch Team Topologies bei der OOP“
• „Bounded Context: Problem oder Lösung?“

Folien:
. speakerdeck.com/ewolff/bounded
. speakerdeck.com/ewolff/the-evo

Danke & bis zum nächsten Mal! 🤝🚀

WIR SIND DA! 🚀

SWAGLab ist jetzt live auf der #OOP 2025 in #München und wir können es kaum erwarten, euch an unserem Stand zu treffen! 😃 Nutzt die Gelegenheit, spannende Einblicke in unsere Projekte zu bekommen, Ideen auszutauschen und mit uns die Zukunft der Softwarearchitektur zu gestalten.

Denkt daran: Unser Kollege @ewolff hält gleich um 10:45 Uhr einen spannenden Vortrag: "Die Evolution von Architektur durch Team Topologies" – verpasst ihn nicht! 📅 💡

Bis gleich in München! 🔥 🤝

New Kitten update

kitten.small-web.org

• Added `remove()` method to kitten.Component class. Use this when working with live pages and components and you want to remove a component from the page (or its parent). It will handle removing event listeners for you so you don’t end up with any memory leaks.

• Improved `update()` method so it similarly removes listeners on child components before updating the component itself in case you have class-based child components that will be reinstantiated on render.

• Updated the `send()` methods on `page.everyone` and `page.everyoneElse` so you can pass a swap target to insert the element being streamed to the page before, after, asFirstChildOf, or asLastChildOf another. (This was already there for the page.send() but now the two broadcast objects have the same consistent interface.

The @small-web/kitten npm package (Kitten’s types package) has also been updated to version 5.1.0 to reflect the latest changes.

(Remember that the new class and event-based page and component model is still experimental and largely undocumented and fully backwards compatible with the classic functional way of authoring your page routes and components.)

Enjoy!

:kitten:💕

New Kitten¹ update

Experimental:

• Adds `data` property to Kitten components

• Adds swap target to `page.send` so you can have an element added before, after, as first child of, or as last child of another (this is syntactic sugar over htmx and works around some of the complexities with out-of-band swaps in htmx, especially when streaming table rows to tables).

Also, check out the latest live page and page events state view in Kitten’s Settings (every Kitten app has this settings view).

vimeo.com/1050348456

¹ kitten.small-web.org

#Kitten#SmallWeb#OOP

Das wird wieder ein Highlight Anfang Februar: die @oop

Als Sprecherin freue ich mich, einen Gutschein-Code für 15% Rabatt auf alle Konferenztickets anzubieten ("OOP25_Laube").

Meine Talks sind am Mi (5. Feb) nachmittags (1) und Do (6. Feb) vormittags (2) im Programm.

Sehen wir uns?

PS: Ihr könnt mich auch für Inhouse-Veranstaltungen wie Entwickler-Konferenzen, Brown-Bag-Talks oder ähnliches buchen.

TIL from the #Perl Advent Calendar about the #Agile meeting tool App::Standup::Diary!

perladvent.org/2024/2024-12-12

Interesting that it uses Object::Pad (metacpan.org/pod/Object::Pad), which has become a testbed/preview for upcoming features in Perl's (still experimental) new #OOP syntax (perldoc.perl.org/perlclass, code-named #Corinna). I know @leonerd has often asked for more folks to kick the tires on both.

perladvent.org Perl Advent Calendar 2024 - Stay focused and organised during the advent season

#RayLib + #Vala bindings + #OOP #GObject wrapper library written in #Vala = the *best* #gamedev experience of all time!!??
Well, we are working on it! :D At least @halfmexican is one of them!
Check out the vapi and WIP wrapper library, for example look at this beautiful `RaylibOOP.Color` class: github.com/Charadon/raylib-vap
Also this library can of course be used by *all* other GObject language bindings.
And this sample is just the first, more are coming! For direct updates join our discord server!