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 :

580
comptes actifs

#scripting

1 message1 participant0 message aujourd’hui

TIL that software (especially #scripting runtimes like #Python, #Perl, and #NodeJS) running in #Alpine #Linux containers is often slower than in other distros like #Ubuntu. This is despite Alpine being faster on startup and often vastly more efficient with CPU, memory, and storage.

It mostly comes down to Alpine’s use of musl libc rather than #GNU’s glibc. musl is optimized for minimalism, not raw performance. Also, the Alpine packages are often not compiled with as many optimizations.

#Markdown idea: button.
@[ LABEL ]( LINK / SCRIPT )

And #scripting:
${ SCRIPT CONTENTS }$

So a scripted button could be done like this:

@(Download)[ ${ functionToSave(); }$ ]

Text boxes could be like this:

#( ID )[ LABEL ]

The id is so that the textbox can be addressed by scripted elements.

Then sites that use Markdown generation don't have to be perfectly static.

...

Also, instead of JavaScript, USE SQUIRREL! >:D I'm kidding. Maybe sites could pick a language each.

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

I was looking for an alternative to classic shell scripts, so I timed a Hello World program in different languages for fun. I thought you might want to know:

1 ms - #Bash
1 ms - #Perl
12 ms - #Python
33 ms - #Go (shebang calling `go run`)
38 ms - #C (shebang compiling to temporary file)
61 ms - #Rust (shebang compiling to temporary file)

Needless to say that this is a highly unfair and silly comparison. It's still interesting, though.

Today I learned from the flock(1) man page (on Debian) that you can put this line at the top of a shell script to prevent more than one copy of it from ever running at a time:

[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :

This is an extremely clever hack and I don't know how I've never stumbled upon it in 38 years of writing shell scripts.
#unix #linux #scripting #shellScripting

💡 Idea for a debugging script 💡

This might already exist for FreeBSD, and if so.. let me know!

- 1) keeps record of OS core/default settings: loader.conf, rc.conf, sysctl.conf, devfs.rules, login.conf etc
- 2) keeps record of file checksum on those OS core files (similar to the app, tripwire)
- 3) mode which shows divergence on current state vs known-default state in configs (1) and checksums (2)
-4) mode which tracks the files and their change-sets over time, similar to a zfs snapshot but at a single file-level