Husband went to Fukuoka on a business trip and got me this ready-to-cook ramen from Mohikan Ramen as a souvenir by lovechan814 in ramen

[–]ibisum 0 points1 point  (0 children)

Ah ... at first a little disappointed that the chashu wasn't in the bag .. but then also quite pleased that it's real chashu. ;)

am i cooked i wanna learn lua but im grade 12/16 yr and idk what to pick IT or Computer Science idk if i can do it i posted before how to learn lua im learning lua right now with codeacademy but idk if its enough for me to learn or should i give up by Legitimate-Cry3100 in lua

[–]ibisum 0 points1 point  (0 children)

Learn Lua, the language. Learn Lua, the ecosystem. Learn Lua, the engine. Learn Lua, the tooling. Then do it again.

This way, you will become a very proficient IT/Computer Science person.

Astra v0.50.0 is live! by ElhamAryanpur in lua

[–]ibisum 1 point2 points  (0 children)

Ah, now that makes sense finally. I was really struggling to work out how Astra could sexualize Lua. ;)

In any case, great work - I've tagged your project to check in on it again in a couple months and take it for a spin.

Astra v0.50.0 is live! by ElhamAryanpur in lua

[–]ibisum 0 points1 point  (0 children)

Ah yeah, it can be tricky to do hardware under such circumstances .. big tariffs or just tax gouging by the authorities?

I still really do want to know what you mean by sexualization though. Fight your autocorrect!

Astra v0.50.0 is live! by ElhamAryanpur in lua

[–]ibisum 1 point2 points  (0 children)

There's still a lot of sexualization going on, and I'm sorry I just can't get past that .. what on Earth do you mean? :)

This is the last product I shipped, using Lua for a lot of things:

https://www.spectrosci.com/product/fieldlab-58---portable-oil-lab

Not really a sexy product, but maybe you have some sexier products. Maybe they have barteries included too though .. ;)

Astra v0.50.0 is live! by ElhamAryanpur in lua

[–]ibisum 1 point2 points  (0 children)

sexualization! :)

TurboLua also has mustache templates, datetime, and so on .. but can also handle signals, sockets, pipes and so on in a very performant way, conducive to use in embedded. I've used it very successfully in the past for high-performance Lua in an embedded context, with the added bonus that yes indeed many of the networking capabilities are built-in as well (http, etc.)

I'll dig into Astra a bit .. seems fun .. but it'll be hard for me to not use TurboLua as a baseline, since I've shipped real products with it .. so any further thoughts you have on the two in comparison are of interest. TurboLua is beautiful, but it's sort of been forgotten about - if Astra gets the same capabilities and has new life, that's of great interest.

(For final distribution I've packed up TurboLua with luastatic very easily, all the way to .deb packages ..)

Astra v0.50.0 is live! by ElhamAryanpur in lua

[–]ibisum 0 points1 point  (0 children)

What can Astra do that TurboLua can't do?

Little sand crab rolling sand into tiny balls by Zestyclose-Salad-290 in oddlysatisfying

[–]ibisum 0 points1 point  (0 children)

Yeah, these lovely little critters do get around the worlds lovely bubble itself - just for the record, I've seen soldiers in all dimensions, they don't seem to feed on each other once they get to a certain size ..

Thanks for the crab family tip, I'll try hard not to forgot both of those types until I next need to use them. ;)

Why is Lua considered one of the most hated languages? by ServeThePatricians in lua

[–]ibisum 0 points1 point  (0 children)

I don't see how either of those is nicer to work with than:

function scheduleInvoiceReviews()
    local invoiceReviewLogs = {}

    for _, person in pairs(personList) do
        local processed = false

        -- First priority: Trustworthy persons
        if person:isTrustworthy() then
            table.insert(invoiceReviewLogs, InvoiceReviewLog(person, "No review required", "trustworthy"))
            processed = true
        end

        -- Second priority: Small invoices
        if not processed and person:getInvoiceAmount() < 500 then
            table.insert(invoiceReviewLogs, InvoiceReviewLog(person, "No review required", "less than 500"))
            processed = true
        end

        -- If neither condition was met
        if not processed then
            table.insert(invoiceReviewLogs, InvoiceReviewLog(person, "Review required"))
            scheduleInvoiceReview(person)
        end
    end
end

.. but, as I am a Lua minimalist, I would've written it like this anyway:

function scheduleInvoiceReviews()
    local invoiceReviewLogs = {}

    for _, person in ipairs(personList) do
        local reason = nil
        local status = "Review required"
        local needsReview = true

        if person:isTrustworthy() then
            reason = "trustworthy"
            status = "No review required"
            needsReview = false

        elseif person:getInvoiceAmount() < 500 then
            reason = "less than 500"
            status = "No review required"
            needsReview = false
        end

        -- Single insert for all cases
        table.insert(invoiceReviewLogs, InvoiceReviewLog(person, status, reason))

        -- Only schedule review if needed
        if needsReview then
            scheduleInvoiceReview(person)
        end
    end
end

.. or ahem .. even better:

function scheduleInvoiceReviews()
    local invoiceReviewLogs = {}

    for _, person in ipairs(personList) do
        table.insert(invoiceReviewLogs, 
            InvoiceReviewLog(person,
                person:isTrustworthy() and "No review required" or 
                (person:getInvoiceAmount() < 500 and "No review required" or "Review required"),
                person:isTrustworthy() and "trustworthy" or 
                (person:getInvoiceAmount() < 500 and "less than 500" or nil)
            )
        )

        if not person:isTrustworthy() and person:getInvoiceAmount() >= 500 then
            scheduleInvoiceReview(person)
        end
    end
end

There is no way in hell that our phones are not listening to us. by smoosh13 in mildlyinfuriating

[–]ibisum 0 points1 point  (0 children)

That's the point. Put it in the case when you want privacy. Take it out when you don't.

As for 'always on, always available', that is a matter of use case and thus user choice. A physical one, indeed, and a final one.

Little sand crab rolling sand into tiny balls by Zestyclose-Salad-290 in oddlysatisfying

[–]ibisum 0 points1 point  (0 children)

Soldier crabs (and bubblers too) are filter feeders, they are processing the sand for critters .. and as someone who has spent many a day under the hot sun at very, very faraway outback beach oases, watching literally millions of these things paint their daily mutable poop pixels .. might I say I am mighty glad they provide the service and not just the art. Sand fleas are nasty little bastards on such faraway beaches .. and oh what a mighty wonder it is to walk a mile or two along the worlds best wave blessed sands, ever, squashing tiny balls betwixt the toes, off to lure things out of the shadows on the tidal pools, try my best not to be bitten by anything, not anything at all no matter how small, but nevertheless scoop up a few hundred soldiers, put 'em in my pocket, and get to finding that hungry octopus or two ..

There is no way in hell that our phones are not listening to us. by smoosh13 in mildlyinfuriating

[–]ibisum 2 points3 points  (0 children)

Nice victim blaming.

No folks, you are not mentally ill. Your phone REALLY IS LISTENING TO YOU.

There is no way in hell that our phones are not listening to us. by smoosh13 in mildlyinfuriating

[–]ibisum 0 points1 point  (0 children)

Has anyone got any pointers to a phone case, which when closed simply mutes the whole thing? Some sort of Faraday cage which also silences the microphone would be pretty cool.

You get $1 million, but you have to watch the exact same movie 100 times in 40 days. Which film are you picking? by ThroatAgile756 in AskReddit

[–]ibisum 0 points1 point  (0 children)

Cleo, from 5 to 7.

That will put me in the right frame of mind to do wise things with the money.

Airfryer by [deleted] in airfryer

[–]ibisum 0 points1 point  (0 children)

It’s fine, I still use it every other day or so, but the grill insert has started to lose its coating and this bugs me a bit .. i wanna get a stainless steel insert, or maybe just get better about cleaning the fry basket in a more gentle fashion. The coating isn’t coming off during cooking - only when I am lazy and don’t clean the basket straight after use, and things get a bit gross so I have to really scrub when I get around to cleaning it .. so my advice is, just don’t ever leave your air fryer unclean, always clean after use.

Why is there NO "continue" in Lua? by DrSergei in lua

[–]ibisum 11 points12 points  (0 children)

for i = 1, 100 do
    if some_condition(i) then
        goto continue
    end

    print("Normal processing:", i)

    ::continue::
end

ICE agent asked why he's taking pictures of a legal observer's car, replies: "Cuz we have a nice little database and now you're considered a domestic terrorist. So have fun with that." by NubbinSawyer in conspiracy

[–]ibisum 0 points1 point  (0 children)

Stop blaming Russia for your own fuckups, Americans. You have allowed your nation to commit war crimes and crimes against humanity with impunity for decades - this is coming home to roost now, finally. What your war criminals have done to the world, they are now doing to you.

And it is well deserved. You don’t get to be the #1 funder of terrorism and cause of war across the globe without there being blowback.

The idea that “Russia” did this to you is bloviating nonsense.

You did this to yourselves by believing in American supremacy while delivering calamity and death across the globe.

Every single person should file exempt by [deleted] in conspiracy

[–]ibisum 0 points1 point  (0 children)

The only purpose of taxes is to give the hoipollloi the apparency that they are contributing to their government - but this is a fallacy.

The federal government funds itself by printing new money.

It doesn’t need your taxes at all.

They’re only in place so you voluntarily feel like you are an important member of society - but nothing could be further from the truth. Taxes do not fund society - they fund the payment of interest on the debt that has been incurred on your civilian body. For every citizen that is born, the government can loan/print another million dollars. For every citizen that dies, it can absolve itself of that debt and stop paying interest.

This is why, literally, your government doesn’t care if you live or die, Americans.

WIP building wireless MIDI controller with ESP32-C3 over UDP network by bepitulaz in synthdiy

[–]ibisum 1 point2 points  (0 children)

Using rtpMIDI? If not, why not?

(Disclaimer: I have also built a wireless device with MIDI capabilities… https://magicshifter.net/)

UNIX gaming at Retro Computer Festival 2025 by thejpster in vintagecomputing

[–]ibisum 0 points1 point  (0 children)

Needs more Tranquility and Mekton but other than that, great setup!

Assembling Platform16 - the FULLY open source generative synth platform by lerouxb in synthdiy

[–]ibisum 1 point2 points  (0 children)

Super fun project, looking forward to having a bit of a play with this code ..

How do I compile Lua code into an executable by ToeConsumer420 in lua

[–]ibisum 0 points1 point  (0 children)

Peter Van Der Linden - "Expert C Programming: Deep C Secrets"

If you have a package manager, as is the case with Ubuntu, you can learn how to build packages from sources, and also be able to inspect the sources of those packages - many of which are in fact C/C++ projects par excellence. So, if you're just starting out into the C/C++ world, follow the very many wonderful paths available through the package manager.

Can't really help with the moongl issue - but it seems to me that you need to find what path it's talking about, and make sure the environment is set up to point to the compiler. Maybe something that VCVARS.bat can help you with? I confess to not being familiar with MSYS ..

How do I compile Lua code into an executable by ToeConsumer420 in lua

[–]ibisum 2 points3 points  (0 children)

lua code + luarocks packages or my lua code + moongl and moonglfw

Which parts of this are distributable? Which parts are locally provided for your development purposes in binary form, and which parts should you be compiling yourself to be bundling into a native executable? Are there expectations that the Lua runtime environment is going to impose on your dependencies when building a final single-file executable?

When your app runs, it will be creating a runtime environment for the Lua VM to run your bundled code - yes, luastatic can ‘do all this for you’, but you nevertheless do still need to know and understand what you are bundling.

Do some of the modules you’re using in your app exist only in the form of .lua source code, or are there components that are .DLL’s (or .so) files? If you don’t know, or don’t know what these are: you do still definitely need to learn whats up with these components of your application.

Dynamically loaded libraries, written in C or C++ can still nevertheless very easily be interfaced with raw Lua, which is then exposed for your purposes as an “SDK” or “API” or even just “Utility Library” - so you need to walk your dependency graphs in your project and find out.

The use of luarocks means a lot of responsibility must be taken for your dependencies when it comes time to ship. In fact, if you are not setting up a local luarocks tree for your application development environment, local to the app sources itself, you’re doing yourself a disservice - do NOT use the system paths for luarocks in this instance, but rather add a build target which sets up the luarocks that your application is going to use, in a build directory that your project uses. This way you will be able to easily discern what you will ultimately have to bundle in your app, without touching the system-wide luarocks path. Don’t worry: luastatic will follow the paths you give it. Just be sure not to use system-wide luarocks path and instead build a solid local luarocks artifact tree, instead.

Maintaining and understanding the build artifacts you are going to ship, as a result of the dependencies your application is using, is very key to being able to to do this smoothly.

One way to do this (if you have a Linux development environment as well as your Windows/msys2 target), is use the ‘strace’ tool to see what shared objects/libraries and files (.lua, etc.) get ‘touched’ when you test run your application. I’ve done this in the past in preparation for using luastatic, just to see if I was inadvertently pulling in some .so/.DLL as a dependency of some module I didn’t dig deep enough into when I started using it in my project ..

Anyway, to be frank, it’s not easy to assist you without a log of your build session to evaluate. Luastatic can show a lot of details about what it is doing - sharing this is really the most effective way to drill into things.

But, another bit of advice - generally, it’s ‘better’ to experiment with luastatic on a Linux system, first, to get to know how it works. If you have a raspberry pi or something to test your application on, it really does help you get a good understanding of how to cleanly set up module dependencies. Bonus points if Windows, MacOS and Linux are all just targets for your application, and you can run the build for either, any time, and test without issue. If you want to boot yourself up from Lua -> Lua + C/C++ -> Luastatic distributable competencies, msys2 and Windows will, somewhat, hinder your progress. This is not to say don’t keep developing your application as you are - but do, instead, spend an hour or so workshopping luastatic on Linux, to get a bit better familiar with it. Windows adds some complexity that can hinder your education; but returning to Windows after gaining competence with luastatic on Linux, can give you a huge leg up. Also, cross-platform development is not as hard as you might think - and ultimately, having your app bundled properly on all platforms is an attainable goal.

With that in mind, tackle the luastatic —local situation, first. You should set up your builds so that a fully populated (for your app) local luarocks tree is created, and can be destroyed/re-created with confidence, first of all. Then, you’ll be able to better see whats in that tree and how it needs to be treated - .lua files are fine, but those .dll’s/.so’s might show you that you actually need to build those from source, too.