Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "lua"
Dev of 15 years here. All my career historically started and evolved/revolved around Microsoft in one way or the other, so was my exposure to only DOS and the Windows as a child and growing up.
Like already discussed in multiple rants here, I was one of those naturally Windows -favoring ppl through all my life. That is not to say I didn't try Linux here and there, for hosting of personal projects, as one usually does. But it never quite stuck with me as a personal daily driver, mainly because all I ever needed for personal use was a browser, discord, and Steam/GOG/Epic Games store for gaming (work-wise I always had and still have company provided laptops which are OF COURSE Windows powered)
Anyway, maybe you can see where I'm going with this... I recently gave Nobara Linux a go (Glorious Eggroll's Fedora flavor, with some custom kernel patches) and I have to say, not thinking of going back to Windows at all.
Just a few thoughts on comparing two sets of experiences with Win vs Nobara
- Win definitely feels more sluggish
- Nobara's default desktop env was Gnome 42 with some extensions pre-enabled. I dove right into hacking/customizing it to my tastes and it looked glorious. Never would have achieved this customization with Win
- I was using RDP to remote into my work laptop from my personal desktop setup with Windows and I still successfully do so with Remmina now in Linux
- A week ago I dove deeper and installed Awesome window manager as a UI and mh boy does this feel intimidating at first. But then the allure of having nice window managing experience was too strong, and 15 years of coding do help with just seeing a new language and kinda feeling at home instantly (Lua language for AwesomeWM customization/themes). Fast forward a week and now I'm sitting happily with 3 monitor setup, one of them vertical, all properly auto aligned with arandr on startup, variety+wal for wallpaper auto circling and applying a theme out of main wallpaper colors every so often (+wrote a script to put those main colors into my RGB peripherals via OpenRGB)
- Gaming. I still game, Steam Deck from steam gave me all the confidence to set up Linux gaming that I needed. I think I am now properly versed in all things Wine/Proton/Lutris/Bottles/Heroic Games Launcher, you name it. Recently finished Cyberpunk 2077.
ANYWAY, thank you for coming to my Linux appreciation TED talk. It's amazing.
Lua is one of the stupidest languages to ever exist.
Oh, the language is easy to learn? The syntax is friendly? There's only like negative 10 functions you ever need to know? Everything is a table?
EVERYTHING IS A TABLE?! WTF CARES? WHAT ABOUT NIL?!
The arrogance this language has is extraordinary, literally. No lang, except Lua, imposes such an opinionated dichotomy. Everything is a fucking table, or, it's nil. -- That's so fucking stupid.
And look, I get it, this lang (oh sorry, scripting language (?)) CAN be good and fun and whatever... the moment you start to do IO is the literal end of days.
Everything is nil. Except, if it's defined... then it's not nil. -- OK. That sounds sensible/reasonable enough. -- What if it's not defined? You get nil. What if it's not the right data? You get nil. Do I get errors/exceptions or whatever? No, absolutely not, you get nil... unless the application you're using with Lua with has a lib that handles that.
There are so many more issues I have with this lang, but honestly... Am I fucking missing something? Is this lang like actually super dooper awesome and I'm missing something? -- I can't not look at this language as just dumb and arrogant. -- It's literally a language where you have to manage and remember ALL conceivable state at ALL times.12
I was looking for alternatives of MC that are atleast usable, and found a thing called Minetest. This apparently is a Voxel Engine/Scriptable game, where you create games, that consist of mods/modules and other resources.
The cool part of it is, that mods and games etc. get handled by the game itself in a package manager type fashion, so the only thing you as a user have to do is selecting them in the ui, and putting them into your world.
It's this easy because the content is managed by a content database. This engine is built with multiplayer support by default.
Now comes the interesting part: apparently a few devs sat together and made a whole MC clone in this engine, and have called it Mineclone 2. I was testing it recently on a server and have to say, that it doesn't appear to be some low effort clone, but to my surprise is an actual playable and nicely looking game. So far i'm having fun with playing and even modding it.
Since the core is written in C++ and the mods and games content is written in LUA, you can easily writte new stuff for it, and even look at other mods stuff, to find out how to make it compatible or how to do certain things. The licenses usually allows to reuse and redistribute.
If you're looking for something like that, give Minetest + Mineclone2 a spin.3
I have lost track of the whys, but I'm writing something that loads a datastructure not unlike specifications of C types (plus struct single inheritance and generics) from any DLL-s tossed in the same folder, then organizes them into a pretty database. Now I just gotta keep gradually broadening the scope until I get to the feature set of the modern C# type system.
Tried Lua for the first time in a while. Really didn't like how it handled chars/strings, that's about it.3
Skein: noun - a type of access modifier, allowing a property to be read internally or externally, but only written to *externally*. See "orwell" for opposite access modifier.
hermit (noun) - an access modifier specifying a property may only be written or read internally.
Gopher (noun) - an access modifier not to be confused with a groundhog.
Blackhole (noun) - can be written to, can never be read. See dev/null for details.
In other news I wrote the basis for a cms in lua.
Because I hate the cloud.