@ngons Yeah, it is an absolutely fantastic update that opens so many doors.
Also Redux as a VST3 having these things built in and Midi Out makes it so much more powerful.
Yay!
Have been playing with it all day yesterday...
@ngons Yeah, it is an absolutely fantastic update that opens so many doors.
Also Redux as a VST3 having these things built in and Midi Out makes it so much more powerful.
Yay!
Have been playing with it all day yesterday...
I missed this interview with Max Yari one of the @openmw developers. Give it a read! The physics mod is really well done: https://www.youtube.com/watch?v=5klixjQGopU
You can check out the implementation here: https://github.com/MaxYari/OpenMWLuaPhysics
Time for a new #introduction!
I am a part-time cat lady to three strays who effectively manipulate me with affection for food and skritches. When I'm not drowning in existential dread, I'm learning #Lua, playing with handheld #Retro #emulators and #Pico8, digging through crates of #music (physical and digital), watching #documentaries, or sleeping. I appreciate #outsiderart, #outsidermusic and #badcinema. I have a non-problematic love for #Balatro.
New software release today!
Just published v2.0 of Daemonparts, a collection of unix daemon boilerplate for #Lua. Next version of Nepenthes needed this out.
I think it's unlikely anything not made by me is using it, but it's 2.0 because there are some severe breaking changes.
Anyway if you're interested in daemonizing Lua scripts it's on LuaRocks, and documented here:
https://zadzmo.org/code/daemonparts
Unfortunately, there are gotchas there, too.
(fn decide [request]
Outcome.not_for_us)
This #fennel code compiles to the following #lua:
local function decide(request)
return Outcome.not_for_us
end
return decide
The problem here is that I'm not require
-ing this file. I maybe should. Without require, that return
makes little sense, and the decide
function won't be found in the global scope, so...
Error: error converting Lua nil to function
Which makes perfect sense. Except the error message is bad, and needs to be improved.
Today's adventures begin with trying to make #iocaine play well with #Fennel. There's work to be done on this front...
For starters, I don't think I will be able to support running the Fennel compiler as part of the init process. It seems to require debug
and assert
, which I'm not sure I want to make available to the Lua runtime in iocaine.
debug
requires mlua.unsafe_new()
, which in turn requires an unsafe
block, and I'm not comfortable with that. Not even sure how I can make assert available, mlua
doesn't seem to provide that as part of stdlib.
So, next best thing: compiling #Fennel to #Lua ahead of time!
Ok, dispatch is in, some quick benchmarks, using a script that does nothing but return Outcome::NotForUs
:
So #Roto wins over #Lua by a sizeable margin here, even with luau-jit
(which, iirc, is supposed to be the fastest).
However, #Lua is fast enough. I'm willing to trade some performance for user convenience, and Lua is at a spot where the performance drop, while noticable, is within acceptable limits, and is offset by the convenience of the language.
In a number of ways, #Lua is going to be a better fit than #Roto: it's a far better known language, and a whole bunch of things are easier to do in Lua.
Do I regret going with #Roto first? Absolutely not. I like Roto's syntax better, and prefer its minimalism over Lua. From what I remember about my prior benchmarks, Roto is also significantly faster. But I'll do some side-by-side comparisons once the Lua support is in a better place, and once I can actually choose which one to use.
Right now I just made a struct that implements the same functions as MeansOfProduction
, and replaced Roto with Lua. That is obviously not how it will work down the road.
Last night I started to wonder: what if I embedded #Lua in #iocaine?
So today I'm going to do that. A first, exploratory hack is compiling now, so I can benchmark it. It doesn't load any external files yet, it's a hardcoded return false
.
I'm thinking of developing a new course or workshop in the fall.. would any of these interest you?
The #love2d learning project thread
This will be where I'll spam ya'll with dev content about me learning Löve2D! Excited to jump out from the warm embreace of PICO-8 to something new. But first, we need the basics. A map (made with Tiled) and movement!
Hello Fediverse. So I'm looking for a #remote #opensource job or project in European timezones.
I am not good in writing CVs. So I'm just listing the projects I have done:
#Rust(See https://codeberg.org/farooqkz/wakegp, https://github.com/deltachat-bots/deltachat-loginbot and https://github.com/deltachat/message-parser) #GeneticProgramming #Cranelift
#Typescript #Javascript #ReactJS #InfernoJS. I used to work on https://github.com/deltachat/deltachat-desktop and https://codeberg.org/chooj/chooj
#Lua #Luanti. I contribute to CTF game. I also play it extensively!
I'm a #Linux user. I have good experience using CLI, and I have basic shell scripting skills. I also have a little experience with #FreeBSD
I am also good at reading academic papers, standards(like RFCs) and manpages.
I am up for working on #FOSS projects as freelancer or part time contracts.
Boosts appreciated :)
PS: I am also familiar with #CommonLisp. But I highly doubt if I can find a #Lisp job anywhere!
BTW if you're wondering I made a tool for #DaVinciResolve and #Fusion that lets you input hex colour values into a colour generator. Free as in beer, speech and solo, along with my other fuses at https://codeberg.org/stib/stibs_fuses/
#IMadeAThing #DCTL #Lua
A general #softwareengineering question, when using the word #embedded how do you distinguish between embedded as in #firmware vs #embedded as in in process like a programming language like #lua that is used in a game engine or a database like #sqllite or #duckdb that (can potentially) run in the host application. As in do you use different terms like #embeddedsystems or #EmbeddedSoftware to refer to one or the other? Or am I completely off base here?
Weekend goal: a #Lua chunk (script) to help sighted users review #Braille. It's a great way to understand how visually impaired users interact with a computer using a screen reader and a Braille display. The script is simple and easy to configure. Currently, it offers a learning mode; in the future, a challenge mode will be added, along with a blog post explaining how to set it up.
Link: https://gitlab.com/-/snippets/4858299
On #FreeBSD it should be executable via flua:
% flua learnbraille.lua
after installing liblouis:
# pkg install liblouis
[edit] % /usr/libexec/flua learnbraille.lua
after 25+ years of class-based OOP i'm learning to think in terms of prototype-based OOP. it's a subtle change, and wow does it ever loosen up my thought processes
instead of thinking top-down (and bottom up) about my game architecture and worrying about rational hierarchies, i'm learning how to think in terms of pure functionality and cloning and then extending objects.
it's a relief learning something new. i'm no longer forcing lua to be not-lua.
all of this is thanks to the smalltalk-80 reference book i picked up a few months ago, along with a great article on the history of smalltalk by alan kay
New @Goodgis vid
Making the Same Game in Python, Lua, and JavaScript
https://www.youtube.com/watch?v=KPq6VswMsPY