#programmers-off-topic

1 messages · Page 22 of 1

rotund violet
#

At some point, around 10 years ago I'd say, web totally leapfrogged desktop and the desktop guys just didn't know how to catch up.

#

Not for performance, obviously, but in terms of usability (both dev and user, like a11y support and such) web tech is so far ahead that it would take a huge team of developers several years to catch up, and that's exactly the opposite of what we are really seeing, desktop UI is starved for developers while we've got far more actively-maintained web frameworks than anyone could ever need.

#

Hiss if you will, but that's the reality today.

crystal wren
#

The ease is absolutely ridiculous, yeah.

safe dragon
#

yeah

#

even though css and js have their fair share of issues. They're difficult to beat in how convenient and well supported they are

#

there are gui frameworks, they just don't tend to be cross platform

#

or if they are they have a very clear strong preference for one

#

honestly the last time I considered building a native gui I was seriously considering using Godot as my framework

crystal wren
#

Electrino is a thing, but it doesn't work on Linux yet for... pretty key reasons.

safe dragon
#

tbh even if I did make a cross platform app it'd be a pain cause one of the devices I'd want it on is my tablet which doesn't support sideloading

#

and I'm not publishing a hobby app intended for just myself

rain apex
#

Then you have no choice but to make webapp

safe dragon
#

yup

#

so I am

#

much like almost everyone else

rotund violet
#

There are decent mobile-specific options if you only care about mobile, like flutter. and React Native - the latter of course being based on web, but technically actually native, unlike Electron etc.

#

There used to be an older one called... phonekit? Phonegap? Something like that. Probably discontinued by now.

cinder karma
#

launches ten minute script

#

at seven minutes mark recall I didn't set it up right

pliant snow
#

Qt seems pretty good so far tbh. Problem is they really want you to use their toolchain/IDE

#

Im liking their UI editor more than i thought, but then again ive only played around a tiny bit

safe dragon
#

it all falls apart eventually…

#

wysiwygs are nice till they very much are not

#

depending on your needs it might be fine tho

rain apex
#

its fine for getting first draft but chance it explod goes up with each iteration

crystal wren
#

The UI editor for Qt is optional at least, it's just... so damn convenient.

#

I do like Qt a lot.

safe dragon
#

maybe I'll try it someday

sand frost
#

I used PySimpleGUI recently but they're going commercial

#

It was very fast to set up, I will say that

safe dragon
#

I'll just be strange and pick some random rust gui project instead

unborn pier
#

Qt Creator is pretty good even on Windows

crystal wren
#

PyQt is a pretty decent way to make quick little things with Qt too.

safe dragon
#

someday

flat yew
#

writing a function and then forgetting to call it has got to be my favorite error

safe dragon
#

“wtf it’s like it’s not even doing anything”

#

“why is this not working”

pliant snow
#

I'm digging Qt actually. Once I figured out how to make it generate a normal makefile, it's pretty slick

safe dragon
#

how much does it help that you actually know what a normal makefile is

rotund violet
#

I'll just be strange and pick some random rust gui project instead

Iced was the best I found so far. Though that was over a year ago, the scene may have changed.

safe dragon
#

iced is the only I know of that has an actual commercial project using it

#

since system76 picked it to be their gui framework of choice for their new DE

rotund violet
pliant snow
# safe dragon how much does it help that you actually know what a normal makefile is

Not super important. Qt has its own qmake format, which basically just lists different source/header/whatever files. I think normally the IDE would automatically populate that, but since I'm adding to an existing program, I did it myself. You then tell qmake to create a makefile and that does the compilation. The qmake format is much simpler than the nonsense make can be

rotund violet
#

Xilem shows a lot of promise, if they actually finish it.

pliant snow
#
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17

SOURCES += \
    main.cpp \
    Arqade.cpp \
    AudioPlayer.cpp \
    Core.cpp \
    CoreData.cpp \
    Utils.cpp \
    VideoPlayer.cpp \
    Window.cpp

HEADERS += \
    Arqade.hpp \
    AudioPlayer.hpp \
    Core.hpp \
    CoreData.hpp \
    libretro.hpp \
    Utils.hpp \
    VideoPlayer.hpp \
    Window.h

FORMS += \
    Window.ui

INCLUDEPATH += /usr/include/SDL2

LIBS += -L/usr/lib/libSDL2.so -lSDL2

DESTDIR = bin
OBJECTS_DIR = $$DESTDIR/.obj
MOC_DIR = $$DESTDIR/.moc
RCC_DIR = $$DESTDIR/.qrc
UI_DIR = $$DESTDIR/.ui

is my project file for Qt

safe dragon
#

I think the main ones people are looking at this days are dioxus, xilem and iced

#

arqade

rotund violet
#

I think Dioxus is superseded by Xilem? Unless I'm getting it confused with a different abandoned project.

safe dragon
#

nah

#

that's druid

rotund violet
#

Never mind, looks like it's still actively developed.

#

Yes, you're right, it was Druid I was thinking of.

pliant snow
#

my poor attempt at a libretro frontend

safe dragon
#

at least the bar is low considering the default

rotund violet
#

I think Rust has more abandoned UI frameworks than any other language has total frameworks. To be fair though, Rust hates trees.

safe dragon
#

Javascript

rotund violet
#

I don't know, I think Rust might give JS a serious run for its money in terms of abandoned project count.

#

Maybe not if you consider utility libraries like jQuery and Underscore to be UI frameworks because there are like, a hundred of those alone.

safe dragon
#

jquery itself however keeps trucking along

pliant snow
#

lurking

safe dragon
#

honestly

#

with the volatility of the Javascript community, it might someday be considered good again

#

even in just the short few years I've paid attention they've drastically changed their mind on what "the right way to do web development" is several times

cinder karma
#

What's the eight way?

#

Burn it all doen?

safe dragon
#

yes

#

idk the last time I paid attention people were suddenly all about htmx

#

I'm sure that's over now

#

of course the Javascript community and the actual web development industry are two different things

#

the industry is still predominantly react

rotund violet
#

I don't know, there's always been a fanatical corner of the web that's chasing the new and shiny but the mainstream hasn't changed that much over the years. Angular and React are the big boys, and have been for a long time. Svelte is putting up stiff competition but isn't really ready yet (we'll see with v5, maybe it will be). And Qwik is the new, noisy, obnoxious kid on the block.

#

There's other stuff out there (MeteorJS) and I'm aware people use 'em, but they're not that fanatical about it.

safe dragon
#

the fanatical corner is the fun corner. Watch the same YouTuber change their mind every few weeks or months with some new shiny thing

#

angular seems to be liked again a bit

#

it's been around long enough to have gone through several cycles of popularity itself

#

it's the first web framework I ever used

#

I don't remember a thing about it

rotund violet
#

Heh, I guess for some the holy wars are fun. I was into them many years ago. These days I prefer to just get shit done rather than argue about how to do it.

safe dragon
#

I only observe

rotund violet
#

I think there's a happy medium between being a lumbering dinosaur stubbornly sticking to WinForms and being a hyperactive child gushing over the newest hotness every 8 days.

safe dragon
#

"what are these people up to now" as I go back to my completely impractical frameworks made by a single guy with a fulltime job

rotund violet
#

I assume the single guy is you, and that making the frameworks isn't actually your fulltime job.

safe dragon
#

as someone who still works professionally with winforms

cinder karma
#

Meanwhile, I'm home early and repairing pants

safe dragon
#

also useful

#

a world outside tech

safe dragon
fleet wren
cinder karma
#

Just look at them

#

Admire them

#

No using

rotund violet
#

There is Vue I guess, that one does seem to attract some fanboys.

pliant snow
#

I never have any of my XDG variables set, and idk if thats bad

rain apex
#

do you guys like using git submodules

#

in the few times i encountered it i always messed up somehow but maybe it is skill issue on my part

pliant snow
#

they're better than the alternatives

cinder karma
#

Yes

#

Wait

#

The question was "like"

#

Like is too strong of a word but we do use them

rain apex
#

do you enjoy it, does it spark joy

cinder karma
#

It sparks less misery than the alternative?

rain apex
#

Fair enough PecoWant

#

I am considering splitting my 1 stardew mod repo into N submodules so that github update key would work

cinder karma
#

Ah

#

Time for me to hide from this conversation

lethal walrus
cinder karma
#

Have fun!

rain apex
#

But I never seen anyone else do this so I wonder if this is actually a dumbass idea in C# context

cinder karma
#

It's not a dumbass idea I just don't want to think about mods

#

(I have submodules in my repo and every now and then someone asks me how the fuck do they fork that

gaunt wadi
#

I kinda like https://kdl.dev/, haven't used it much because it's barely used by anything but it feels like the best of json and yaml.... but there aren't lists

#

yeah this is my understanding, it's passwords but a protocol that generates the passwords for you

pliant snow
#

well I can't say I would've guessed what KDL stood for

gaunt wadi
#

oh shit me too, hell yeah

#

dang they didn't add lists to kdl2

cinder karma
#

I've been liking toml personally

supple ether
#

Successfully made my own minimal cli gui with clickable buttons, nice text wrapping, and text input
Next up is progress bars, and then I can start on the actual thing it's for

rotund violet
#

I use submodules but not in that context - I use them for when I need to depend on a fork of someone else's open source project that I don't expect to get upstreamed.

#

Not sure why I'd want to use submodules for my own repos... maybe for C++ projects I would because of their silly include systems.

supple ether
#

I know there's libs for that already but they're all these massive full gui libraries with windowing and stuff which is extreme overkill for what I need. Also I wanted to see if I could do it myself

cinder karma
#

(Yeah, if you version your kicad parts database it's a classic reason to use submodules)

regal ingot
dapper sinew
#

this took AGES it felt like

#

i just got done rewritting an example compiler to match the given example and i now notice that im painfully slow typing nekoDead

rain apex
#

writing a compiler bolbwaitwhat

#

do you mean cmake

#

or similar

rotund violet
#

That uh... doesn't look like a compiler.

#

Unless the project was to write a compiler that takes that code and produces correct output for it.

dapper sinew
dapper sinew
rain apex
#

compiler is like, you have human readable code and it becomes a binary executable of some sort

dapper sinew
#

oh, no then this does not do that

rain apex
#

oh this is a interpreter

#

you have human readable code that is read by program, which executes the instructions

#

tho this one doesnt execute them either it just parses

#

either way glad u r have fun in cpp land wew

dapper sinew
#

i wanted a lower level language cause stuff like python is a bit too much like english? if that makes sense

#

i wouldve learned it deeper but nooooo windows locks its stuff behind a windows specifc api
grumbles

dapper sinew
#

or at least a decent way there, only so much i can learn from the way im doing it now

#

ohhhhhh my goal is to learn how to make a compiler eventually, so this is step one of learning the "simple things"

candid pilot
#

pretty sure the main definition of transpiler is converting between two languages of similar level as well

rain apex
#

Yeah I went with the general usage definition

rotund violet
#

Anyway, the second example posted would be considered a lexer to me. It does not validate, or output an AST, so it is not really a parser (and many steps away from a compiler).

#

Not exactly sure what it has to do with the first example, either. The second example doesn't appear capable of lexing the first; only the very simple int a = 5 expression given in main().

#

Not that I'm discouraging the effort, but for someone just starting out with C++, writing your own compiler might be a bit... advanced.

dapper sinew
rain apex
#

something you can personally use is a good goal blobcatgooglyblep

dapper sinew
#

i dont understand lol

rain apex
#

well imagine if you make a alpha version of a cpp compiler

#

you wont use that over gcc unless you spend infinity+1 time on adding all the features

#

reinventing the wheel so to say

#

ofc it is true that learning about how compiler work will give u strong fundamental understanding of programming languages, and it may even be suitable motivation for you

#

but im not that type of person, i need the tangible feedback of making a thing that i can end up using for some purpose

#

modding is one such example ofc

dapper sinew
#

makes sense to want something useable, im actually learning coding for that reason, so that i can start modding MC and stuff. and also just mess with my pc a bit.
Sadly im not at the stage where i can worry about wether what im making is useful, im at the stage where i just gonna make something functional

rain apex
#

one step at a time AquaThumbsup

rotund violet
#

Sure, understanding how compilers work and even being able to write an elementary one is a very good tool to have in the belt. I'd just pick something a little more approachable and practical if this is literally day 1 or week 1 of learning to code.

#

Unless you are actually working professionally on compiler development or making your own esolang, then those skills generally come into the picture at the point where you're trying to solve very complex problems that require metaprogramming (code that generates other code) or domain-specific languages, which happens when you've reached the limit of what good architecture can do, or just gotten so efficient at implementing the conventional solutions that you decide it's worth your time to automate yourself.

#

Learning compilers in order to learn programming is sort of like learning to fly commercial passenger aircraft in order to learn how to ride a bike. Or maybe learning how to build a bike in order to learn to ride one. Either way, kinda out of order.

pliant snow
#

It's like learning metalsmithing to ride a bike

safe dragon
#

wouldn't be butterbear if it didn't involve trying to learn something by diving into one of the most complicated aspects of its entire field

rotund violet
#

Oh, is this someone we know?

#

(And by "we" I mean "you")

safe dragon
#

as in they've been talking here for a while, yes

#

originally from what I remember trying to build a custom llm chatbot as an introduction to programming

dapper sinew
safe dragon
#

as long as it gets you to engage with programming at all I think it's fine

#

that's ultimately the biggest barrier

rotund violet
#

True enough. Though that sort of takes me back to previous comments about YouTube being a poor educational choice for cognition-oriented skills (great for monkey-see monkey-do type stuff).

#

Which is not intended as a knock, by the way. I use it all the time for basic repairs, plumbing, landscaping, and so on, which are in the "just show me what to do" category for me.

cinder karma
#

(Tl;dr i suspect I will be at some point knitting Taylor Swift's folklore sweater.)

#

It looks so comfy

pliant snow
#

.img taylor swift folklore sweater

supple mountain
#

oh that does look comfy

supple ether
#

the stars are fun

cinder karma
#

Someone even made a pattern!

#

Although the suggested yarn is kinda trash

#

Suspect cascade 220 or something from knitpicks will work better

supple ether
#

Part of me does want to get into knitting but I already don't have enough time for all my hobbies

safe dragon
#

same

#

well

#

the not having enough time for all my hobbies part

#

I've yet to feel drawn to knitting so far

modest jewel
cinder karma
#

I regularly knit at work

sonic mirage
safe dragon
#

honestly have never worked on a project where compiling takes more than a minute

#

though whenever I build/install anything C++ from source it seems to take 14 years to compile/link

sonic mirage
#

Things that take awhile for us are opening websites in VS that don't have a solution, running some processing scripts that reference an ancient type of db, and some crazy SQL migrations

safe dragon
#

okay if I could waiting for pipelines to finish

#

done that too much

#

a single release of a new database version takes like 25 minutes

#

because of some fucked up system for releasing it isn't even supported by anything anymore so we have some older system specifically for it

#

and even the build that on my work pc takes like 30 seconds somehow takes like 12 minutes when done by the pipeline

sonic mirage
#

We have a client that hosts like 30 Drupal (PHP) sites on a Windows Server, so I have the pleasure of writing PowerShell scripts to try to automate deploying to essentially an awful CMS framework that's had all kinds of garbage hacked onto it

safe dragon
devout vault
cinder karma
#

Maddening

#

The worst part is that my tooling sucks

#

15 minutes total build time

#

AND IT KEEPS TELLING ME MY BUILD FAILS EIGHT MINUTES IN

devout vault
cinder karma
#

(I know why but it is a maddening thing that I don't have proper sims)

devout vault
#

/me is currently debugging a script and has to do that before testing every change

ivory shadow
#

the heck are you building that takes 15 entire minutes

devout vault
#

Why did /me not work, what a travesty

ivory shadow
#

That sounds awful and I hate it

cinder karma
#

It's just badly optimized

ivory shadow
#

Well that sounds awful and I hate it 😛

cinder karma
#

Could be worse

#

Could have taken two weeks (yes)

devout vault
#

In my case it’s most of the content since the previously mentioned lack of working incremental build

cinder karma
#

The bigger issue is that I don't have good sims so I can't just run a quick test suite

devout vault
cinder karma
#

So I need to synthesize then measure on an oscilloscope

ivory shadow
#

Compiling something taking two weeks sounds like... doing it manually levels of performance

devout vault
#

Also hi Khloe, how was FFXIV dawntrail? (I still need to finish post endwalker)

ivory shadow
#

Unless you're compiling an entire operating system or a web browser (see also: entire operating system), the idea of something taking more than like 5 minutes is awful

cinder karma
#

It's also documented godawfully

lethal walrus
#

longest thing i've compiled was firefox

#

had to leave machine on overnight

cinder karma
#

So I'll get eight minutes in

#

And it will tell me my clock speed isn't valid, try again

#

Can you guys see why I hate labview?

pliant snow
#

Hello nerds

#

How does one compile a C# project on linux

ivory shadow
#

Hi casey! I enjoyed it, though reception in the broader community seems to have been mixed. But I'm all through it and the two expert dungeons now, working on levelling up a healer so I can get mentor status back, and finishing levelling my crafters. Things are going well.

ivory shadow
cinder karma
pliant snow
#

is that it

safe dragon
#

ye

pliant snow
#

oh its doing something

safe dragon
#

depending on the project you might need mono

crystal wren
#

It's pretty smooth on Linux nowadays!

#

For... modern .NET versions at least.

ivory shadow
#

It's the same way you build the project anywhere you're using CLI

cinder karma
#

Anyway

rain apex
#

i think installing aesprite from AUR (which is just build from source) takes 10min+ for me

pliant snow
#

theres a lot of .dll in here, that doesnt bode well

cinder karma
#

Today's work: figure out exactly how incompetent this vendor is (times 2)

ivory shadow
#

Why wouldn't DLL bode well

#

DLL is where compiled .NET code lives

cinder karma
pliant snow
#

i told it to dotnet build lol

cinder karma
#

Fun fact

crystal wren
#

Oh, like a LOT of DLLs? Yeah, the runtime might be bundled... potentially?

cinder karma
#

The temperature forcer just decides to randomly ignore me

rain apex
#

did u do it in a repo with a sln file

devout vault
#

I think DLL is normal even on Linux for dot net right?

cinder karma
#

I can never figure out why

cinder karma
pliant snow
rain apex
#

and csproj pointed to by it right

#

u will have to inspect what the configs are

#

but yes dll normal even on linux

pliant snow
#

i guess i should actually look at where the executable is rather than just poking around

rain apex
#

it might be building just a library

cinder karma
#

Some pins are enabled by defualt

#

Others require me to explicitly enable them

#

Which is which? I don't know and labview doesn't tell me

crystal wren
#

Labview sounds wonderful!

pliant snow
#

oh i see what its doing

cinder karma
#

So half the time even when synthesis succeeds I go to measure it and the pin is ignoring me because I didn't enable it

pliant snow
#

is .NET not backwards compatable

rain apex
#

naw you gotta target a version on build time

cinder karma
#

Define "backwards compatable"

pliant snow
#

I have .NET 8 and its mad its not 7

cinder karma
#

Oh, you should be able to do that

crystal wren
#

Yeah, I target .NET 6 on Linux using .NET 8 exclusively.

cinder karma
#

You should be able to build for every version of dotnet if you have the dotnet 8 sdk

pliant snow
#

y u mad computer

cinder karma
#

(My poor neglected stardew mods repo requires the net 8 sdk even )

cinder karma
pliant snow
#

yes

#

why is dotnet already installed, idk

#

actually why is this installed

safe dragon
#

I injected it into your pc

rain apex
#

try dotnet --list-sdks

pliant snow
#

Just 8.0.106

crystal wren
#

Do dotnet --info, that gets everything.

pliant snow
rain apex
#

yea u gotta build targeting the version of .net you intend to run ur program on

crystal wren
#

That should run .NET 7 things just fine...

safe dragon
#

dotnet on linux hc_pensive

rain apex
#

tho i am assume the repo you cloned ought to have set up stuff right think

safe dragon
#

what are you trying to build anyway

pliant snow
#

Yes, and they provide linux binaries, I just wanted to build it myself

#

stardrop

safe dragon
#

what's that

pliant snow
#

SDV mod manager thing

crystal wren
#

Lemme try building it here...

safe dragon
#

smh sdv

rain apex
#

cant believe sdv talk is happening in the sdv server

pliant snow
#

dangerously close to on topic

safe dragon
#

I'll build it too just for you

#

hopefully not a problem I don't have sdv installed

rain apex
#

but i think you just gotta install the dotnet 7 sdk

pliant snow
#

booo

rain apex
#

and specify --runtime arg

#

when u r do dotnet build

crystal wren
#

Very interesting here...

#

Build succeeded, but dotnet run says the same runtime thing. Which is... not correct, because .NET 8 can absolutely run .NET 7, 6, 5 things...

safe dragon
pliant snow
#

does it run

safe dragon
#

no

rain apex
#

only 3 digits nice

safe dragon
crystal wren
#

...okay, now I'm just confused. It really seems to want the .NET 7 runtime installed when it shouldn't need it.

safe dragon
#

glad running c# is so seamless on linux now

#

wait imma try running it in jetbrains rider

#

even though that shouldn't make a difference

crystal wren
#

Rider will automatically download the right version of .NET if you don't tell it not to in the settings though, so...

safe dragon
#

I can't test it anyway

#

license expired apparently

rain apex
#

time to go back to school

ivory shadow
#

This makes me think of how I needed to manually install .NET Core 3 to use the monogame shader compiler tool version that works with Stardew.

crystal wren
#

Okay, @pliant snow...

supple ether
#

cli gui with both mouse and text input and multiline text wrapping

crystal wren
#

Edit Stardrop.runtimeconfig.json to dotnet 8 instead of 7. Then it'll run!

#

It's... weird as hell that it's not just working though.

pliant snow
#

hazah

safe dragon
#

easy

cinder karma
#

Can someone kill windows python plz thx bai

supple ether
#

amen!

#

#making-mods-general message
I've been wanting to do a MUD/MUSH/MUCK for a long while but I don't really care for most of the engines that currently exist. I've been thinking about writing my own, but god writing a good text command parser sounds like hell

cinder karma
#

It's fundamentally my fault because I wanted to use py3.12 for toml support

#

But I've been arguing with conda for the last half hoir

crystal wren
supple ether
#

that would be cool! I might end up doing that, at least as a standalone tool. It's a little too rough around the edges for me to want to make it a PR

rain apex
#

can u make the smapi installer close on its own

#

i keep forgetting so it just sits and eat 10% of my cpu

supple ether
#

like right now it assumes if you're running it on linux you have stty to modify terminal settings (which may not be the case) and also doesn't work properly when running it from WSL via windows terminal, because the input is piped

supple ether
cinder karma
supple ether
devout vault
#

I would assume that’s how Stardrop installs SMAPI

#

Or Vortex

supple ether
#

does stardrop auto install SMAPI?

devout vault
#

I thought it could update, maybe it only lets you know

supple ether
#

I always manually install anyways since I have a bunch of different install locations

devout vault
#

It’s been a while since I’ve used it

#

Yeah, me too

cinder karma
#

Fucking conda

#

This is the third installation of python and the second terminal

rain apex
#

are you tired of the sneks in your environment

cinder karma
#

Yes

#

Alright

#

It only took an hour to install python right

#

Code now at least runs

#

Can windows please make the default python 3.12 plz

#

I'm actually bitching about tcp

#

Lol

#

And the lack of good disposal patterns in python

#

Atexit seems like my best bet

rain apex
#

oh they didnt implement __enter__/__exit__?

#

for use in with

lethal walrus
cinder karma
#

I need to keep the reference open

#

So can't use with statements

#

Also yeah they didn't implement enter/exit

#

I'm using del/atexit rn

#

Their python driver is terrible btw

#

I wrapped it already but their driver requires you to know how they numbered their registers

#

And whether or not a register is fixed point or an int

#

(And no it isn't documented I guessed)

rain apex
#

dir my best friend

cinder karma
#

God

#

I want python to implement null operators so badly

#

Lol

#

How do programmers not go around in a murderous rage all the time

pliant snow
#

im sure pythonists would say you should structure things so they dont need null operators

safe dragon
#

despite being a language that doesn't come with anything built in to properly avoid nulls

rain apex
#

i do a lot of

try:
    nullable.func()
except AttributeError:
    ...
cinder karma
#

I personally hate that too lol

#

I just wish

rain apex
#

its not great cus AttributeError can come from func itself MitsuYawn

pliant snow
cinder karma
#

When I was a kid I wrote thjs insane python script that used getattr everywhere lol

#

Unmainatainable pile of shit

#

I also built something like dataclasses lol

cinder karma
#

I want to know why it takes three full seconds to send a single command

#

What

#

Did

#

You

#

Dooooooo

rotund violet
#

I'm not familiar with your specific configuration, but I've worked with a number of hardware devices and the developers who write their protocols/firmware/APIs tend to be... well, let's just say they tend to be "hardware guys".

#

From my experience, those ridiculous delays are most likely some combination of error-checking and spinlocking due to ambiguous protocols.

#

It could also be just a very slow device that takes forever to ack a command, and the client needs to wait for the ack (and what you think of as a "single" command might in fact be several over the protocol).

#

But there's a fair amount of wild-guessing there, I'll admit.

cinder karma
#

I think it's the later yeah

#

They're just using socket socket

#

It's just the hardware taking its sweet time to get back to me

#
  • it blocking on the main thread which I guess is fine
rotund violet
#

Sure it's a socket, the question is what goes over that socket. Usually it's some garbage roll-your-own serial protocol and not like, TCP/IP.

#

Writing your own network protocol is sort of like writing your own cryptography. You really shouldn't do it unless you're an expert; and yet, so many people do anyway.

cinder karma
#

(It's tcp)

rotund violet
#

Ah. Then yeah, let's go with potato hardware.

cinder karma
#

It's kinda fine since this is a temperature controller

#

And it takes about a minute to reach the right temp

rotund violet
#

That's how it usually is with this stuff... the hardware is designed to fit the needs of its operational use case, not the developer use case which actually requires a lot more memory/CPU/bandwidth/etc.

#

Typical Rust program of mine uses under 50 MB when running... chews up 50 GB when compiling.

#

On an unrelated note, one thing I continue to hate after coming back to C# is how it handles enums. "Your switch is not exhaustive because you don't have cases for values that aren't defined in the enum." KMA

#

I don't care that it's only one line I have to add, when I have to add it in 57 places. I want compile-time enums, not half-assed constants.

supple ether
#

huh. typeof(void) actually works. did not expect that

safe dragon
#

tf is the type of void

#

surely this isn't c#

#

even javascript doesn't seem happy about it

#

which is saying something

cinder karma
#

Lol

#

Crumble

#

Oh never mind i don't have the obvious pointer bs anymore

#

Doesn't look scary

safe dragon
#

looks like some good ol opengl

cinder karma
#

Just calmly using monogame internal functions

dapper sinew
pliant snow
#

...just having firefox open on a blank page uses a CPU core at 100%

#

alright it seems to have stopped

gaunt wadi
#

firefox: can i have a little bitcoin, as a treat

supple ether
dapper sinew
#

ahh ok

supple ether
#

it's not a huge issue bc if you have windows you can just... use the windows version, but still

dapper sinew
#

im in a weird area of gaming right now

#

im using AI to right lua for an OS inside minecraft inside my os

#

and yes... i tried getting arch on the pc... file size was to big :(

#

(im not learnig lua, brain hurty enough from cpp)

pliant snow
#

learning lua is probably easier than learning c++

supple ether
#

ncurses I think can handle it maybe? but I don't want to bundle a native lib, especially not one that is such massive overkill

#

I personally hate lua because its rules are so loosey goosey, its syntax is so minimal, and it has no real type system

dapper sinew
#

i wonder if there are any Linux distros out there that are 500k bytes, cause thats all this pc can hold

#

for now :3

cinder karma
#

Lol

#

I remember when we mourned Ubuntu breaking 700mb

dapper sinew
#

oh no wonder the ai is having a bit of trouble, its got its own api in game too as well and the base lua structer, time to do some digging on my end

supple ether
#

what game is this for?

dapper sinew
#

minecraft

#

its the OpenComputers mod

supple ether
#

oh opencomputers!

dapper sinew
#

yeah, trying to interact for an ME system for ae2

supple ether
#

maybe it's nostalgia but I prefer ComputerCraft (or CC Tweaked since the OG has been dead for years)

dapper sinew
#

we have both in this pack!

#

but idk if CC can access AE2

supple ether
#

if you have create you can use the display thing as a peripheral, it's awesome

dapper sinew
#

sadly i dont or i would have

supple ether
supple ether
cinder karma
#

....I am not going to crochet the dress

#

(Taylor Swift crochet dress)

dapper sinew
dapper sinew
cinder karma
supple ether
#

some day I should do a tour video of that base. it's still unfinished but I don't think it will ever be.

cinder karma
#

She looks good

#

I would not

rain apex
#

crochet a tailor swift and then the dress

cinder karma
#

Change my entire aesthetic from tailored and business semiformal to fun and kitchy?

modest jewel
cinder karma
hoary estuary
cinder karma
#

How the heck am I supposed to build a temperature control flow when I'm limited to one action per six seconds

rotund violet
#

Hysteresis and lots of it?

cinder karma
#

(I do understand the theory behind PID. But also like. Ughhh)

#

Also the highest temperature I need to reach is very close to the highest temperature we can tolerate so I can't overshoot

#

Like. By more than 5C

#

I overshoot, we might accidentally start melting things

#

Which is bad bad bad

#

So I'm probably gonna want to clamp the D in PID for the higher temps at leasr

rotund violet
#

My knowledge is limited to PC cooling and tractor mods, but hysteresis really is the only thing that comes to mind... you see the temperature going up too high, you rubber-band down to a waaaay lower target temperature so that once the active cooling stops, there's plenty to start it up again if it creeps up.

cinder karma
#

We do want to be fast about this

rotund violet
#

(have no idea what PID means unless you're talking about a process ID)

#

You want to be fast, yet you can only respond every six seconds, and letting the temperature get too high is catastrophic... hmmmm.

#

This sounds like a job for the Engineer's Pyramid.

cinder karma
#

(Proportional, integral, derivative)

#

I'm gonna give it a try with the vendor api but I might start breaking into it if I need to

rotund violet
#

Ah, derivative, makes sense what you said then - if temp is climbing fast then you'll have to risk overreacting if you can't correct quickly.

cinder karma
#

New day new python issues

#

Today, setup.py decided it wanted to continously put in an old version of a file

#

I have no clue where it even got it from

pliant snow
#

I would offer advice, but you seem to run into way more python issues than i do

rotund violet
#

And I would offer advice, but I generally try to avoid being on the same hemisphere as any python being written or edited.

sand frost
#

I’ve never had those levels of Python issues

#

Probably because I don’t write that level of Python

safe dragon
#

All my issues with python are hypothetical

pliant snow
#

i dont think i really have issues getting python stuff to work, its getting stuff uninstalled thats the problem

pliant snow
#

@gaunt wadi give me your pitch on codeberg

lethal walrus
pliant snow
#

📝

lethal walrus
#

they have docs on mirroring to/from github

sullen edge
#

is there a tutorial for making an custom npc

pliant snow
#

If you're asking about Stardew, you might have better luck asking in #making-mods-general , this channel is for non-Stardew discussion

sullen edge
#

mb

gaunt wadi
#

in my experience: literally identical besides pushing takes ~3 seconds rather than be instant, this does not matter to me

sonic mirage
#

Sounds like GitLab

gaunt wadi
#

no other git platform:

  • has the same/nice ui as github (sourcehut is for programming in the 1930s)
  • isn't an evil megacorp pushing ai dev sec ops out the wazoo (gitlab)
#

I forget the others I looked at, but codeberg was the clear choice

#

sourcehut does have the most radical/anti-capitalist mission stance and the most features, it's just the ui is very non-modern

rain apex
#

Does codeberg have github pages equiv

safe dragon
#

visiting the website doesn't even tell me that quickly that I'm even on a website with git repos

gaunt wadi
pliant snow
#

does visiting github tell you quickly youre on a website with git repos

gaunt wadi
#

it's called codeberg pages

safe dragon
#

hmmm what does the github main page look like when you're not logged in

#

oh yikes what is this

gaunt wadi
#

https://github.com/

The world’s leading AI-powered developer platform.
Trusted by the world’s leading organizations
Accelerate innovation Our AI-powered platform increases the pace of software development.

GitHub

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

#

🤮

safe dragon
rain apex
pliant snow
#

hmmmmmmmm

gaunt wadi
#

(use whatever you like, people have different priorities and if you want to get things done that is valid, this is a thing I choose to care about so I vom emoji at github but it's okay if you don't)

pliant snow
#

i do hate microsoft tho

#

more than anything

gaunt wadi
#

hell yeah

rain apex
#

Well it'd be nice to move my shit to something accessible from china

gaunt wadi
#

my current working model is new stuff goes on codeberg, left the old stuff on github

pliant snow
#

yeah thats what I was thinking

#

someone said something about mirror support? Move everything thats worth anything to codeberg, mirror the important stuff still

safe dragon
#

tbh none of my projects even really need to be public. I could just sync the projects with fuckin syncthing and I wouldn't really lose anything. I'd just be using git without a "remote"

pliant snow
#

can you just set up a project to have two remotes

sonic mirage
#

@marble jewel I was going to originally build a SFF NAS, but it seems like the mobos you can get for that, especially if you want ECC, are super limited/expensive and I'm not starved for space

safe dragon
#

I'm not even sure I have anything worth transfering

pliant snow
#

I'll have you know I have a repo with over 150 stars

#

im basically famous

safe dragon
#

I don't think I have a repo with a star

pliant snow
gaunt wadi
#

oh shit that's really cool actually

marble jewel
# sonic mirage <@194981449819095041> I was going to originally build a SFF NAS, but it seems li...

These were my builds -
NAS: https://pcpartpicker.com/list/bh3dRv
Game Server: https://pcpartpicker.com/list/4PsGZZ
My goal is to essentially merge the two on a rack, but it will involve a lot of new hardware

gaunt wadi
#

I didn't know

#

peruses without an understanding of rust

#

how'd it get so popular?

pliant snow
#

some of my stuff has somehow gotten attention

#

I think that one just shows up well on searches

#

I've never promoted it iirc

#

the aseprite one did get linked in some plugin list, so that one isn't a surprise

gaunt wadi
#

neat

pliant snow
#

If only I was working on a sequel book...

safe dragon
#

for the gba

pliant snow
#

not gba

gaunt wadi
#

in assembly

pliant snow
#

I wrote an article about hacking assembly, but i dont think its on github

#

or is it

#

no

safe dragon
#

nerd

sonic mirage
marble jewel
#

Yeah, if I were to build it today from scratch, that's what I'd do

safe dragon
#

really cool that you write articles on the stuff you do tbh

pliant snow
#

Only 72000 words... SDVpuffersweats

lethal walrus
safe dragon
#

72k words damn

pliant snow
#

that does include code, and I'm not sure how much I believe wc

safe dragon
#

this gameboy emulator gonna be feature complete by the end

pliant snow
#

but its long

sonic mirage
#

I've been waffling on Proxmox with Unraid VM or just straight Unraid, but with what they've shown in the Unraid v7 beta I think I'm just going to go with Unraid

pliant snow
#

It's meant to completely walk you through writing one

thin estuary
#

oh, talking about NASes? i'm using Node 804 for mine

pliant snow
#

I had to take a break because the one I ended up creating is buggy af and I needed a break lol

marble jewel
safe dragon
#

it also looks similar to mine

sonic mirage
#

I don't really mess with VMs and from what I've seen a lot of the main reasons to run Unraid in Proxmox are now in Unraid directly, like VM cloning and snapshotting

marble jewel
#

In my new build I plan to VM everything

pliant snow
#

I probably shouldve looked into proxmox, but now my server is setup and I dont care to mess around with it lol

marble jewel
#

I'm running proxmox right now, but it's a single Ubuntu VM, Win11, and TruNAS

thin estuary
#

back in the day i went with Proxmox... only to proceed running just one VM on it ever, OpenMediaVault

safe dragon
#

I'm not sure what I'd do with a VM on my server

#

remote into the VM?

marble jewel
#

I have like 50 disparate services running across four different pieces of hardware, so I'm hoping I can simplify it all

sonic mirage
#

Yeah I assume most of my use cases will be related to what in my storage that Unraid is controlling, and with the new features in the v7 beta I think they covered most of the reasons I'd bother layering on top of Proxmox.

safe dragon
#

with my vaultwarden instance gone now I think for now my server is running literally nothing except smb and other filesyncing related things

marble jewel
#

I think VMs can be nice if you get into platform deployment code, and if you want to stage changes to a non-prod environment before going to prod

#

That's my plan at least

pliant snow
#

While it would be nice to separate my services, I feel like giving them access to shared actual files would be a pain, unless proxmox has some way around that

#

containers are good enough for me tbh

sonic mirage
#

VM Manager Improvements and Improved Hardware Support
Take your virtualization to the next level with VM Clone and Snapshot capabilities, improved VM performance, and a whole host of improvements and optimizations. Additionally, thanks to the updated Linux kernel, Unraid 7 brings Intel ARC GPU support, ensuring you're ready for the latest hardware advancements.

marble jewel
#

I'm looking forward to unraid 7, but I'll probably wait for a .01 to let everyone else weed out the initial issues

#

It'll be nice to run on a zpool without an array though

sonic mirage
#

I'm assuming by the time I figure out and get the rest of my hardware that it'll be in a decent state. And not having to learn both Proxmox and Unraid at once will be nice since I don't mess with server/systems stuff much

marble jewel
#

Right now I have an unused external drive as the Array since pre-7 it's still required

sonic mirage
#

That's a weird requirement

#

I'm planning to use their ZFS since I have all new same-sized HDDs

marble jewel
#

ZFS support is still relatively new

sonic mirage
#

Yeah I think they added it like a year or so ago

marble jewel
#

(Which is probably why there are remnants like assuming you'd be running your Array as randomly sized BTRFS drives)

pliant snow
#

I use ZFS on my server, I'm a big fan of it

#

granted, not thru unraid

safe dragon
#

I too use ZFS

#

on regular ol debian 12

pliant snow
#

maybe someday it'll be in the kernel...

cinder karma
#

I'm kinda considering writing code to make making knitting patterns easier

#

In particular instead of grading the pattern to set sizes, having users enter their measurements and gauge and just calculating the right pattern on the fly

#

Anyways did you know there is a latex library for this?

safe dragon
#

there's always a library for everything

dapper sinew
#

||https://en.wikipedia.org › wiki › Throbber
Throbber - Wikipedia
A typical throbber animation like that seen on many websites when a blocking action is being performed in the background. A throbber, also known as a loading icon, is an animated graphical control element used to show that a computer program is performing an action in the background (such as downloading content, conducting intensive calculations or communicating with an external device).||
Have fun with this funny but cursed knowledge(censored for comedic effect)

safe dragon
#

a security vulnerability in system.text.json

#

half our applications have suddenly stopped building due to it

pliant snow
#

uh oh

dapper sinew
#

WOOOOOOHOOOOOOOOO

#

i did a thing

#

on my own!

safe dragon
#

🎉

safe dragon
#

chaotic day

#

ironically the whole team responsible for handling security issues like this was away due to a security audit meeting

pliant snow
#

conspiracy...

deep drum
#

@marble jewel what do you use for a reverse proxy in your lab? I’ve been using nginx for years but I’m thinking of switching to traefik

marble jewel
deep drum
#

It’s just getting to be a lot when I want to quickly set up some new stuff

#

Great for my web hosting needs but it just feels clunky with my services

pliant snow
#

whispers caddy

safe dragon
#

lmao

#

I have no idea what the differences between any of em are. I use caddy rn for my 1 hosted service cause it had a convenient guide for it

pliant snow
#

i used nginx proxy manager for a while, which was a GUI. It was nice to have a GUI, but also a pain to have a GUI lol. Caddy is much more streamlined IMO, but i havent tried traefik

safe dragon
#

I'm sure once I host more than 1 thing it'll be more important

pliant snow
#

im not even sure you need it if youre only hosting one thing

deep drum
#

Caddy is great, I just want something a little more powerful

safe dragon
#

caddy2

ivory shadow
#

Caddy is incredible. So easy to write config files

cinder karma
#

What about pdfs makes good programmers program like they are drunk

#

Please don't answer that question while I try to get a valid exit code from pdflatex

cinder karma
#

Never had I ever had so many issues with supposedly command line scripts dying if they didn't have someone on their stdout

cinder karma
#

This isn't exporting actual data to stdout

#

It's just logging

rotund violet
#

Any of the lost-rustaceans thinking about the Bevy jam this year? Been kind of looking for an excuse to get back into it.

supple ether
#

I'm waiting until bevy is more fleshed out to try it

fleet wren
#

I said the same thing 5 years ago

supple ether
#

The main thing with bevy for me is its lack of tooling, particularly for 2d

cinder karma
#

@lethal walrus the normal within map pathfinders in stardew are a*

#

There is like four separate implementations all slightly different

lethal walrus
#

ah

rotund violet
#

What lack of tooling? You mean the lack of an editor UI? (Personally, that's one of the things I like about it, for tile editing and such I can just use LDtk or Tiled).

supple ether
#

Is there a tiled lib for bevy/rust? That would go a long way

lethal walrus
#

where is

#

someone was working on a tbin one too

rotund violet
#

Yes.

lethal walrus
rotund violet
#

Tiled and LDtk, both. Two of each, actually.

#

There's a newer project called EntiTiles that I've wanted to try, way faster than the others, supposed to work with both LDtk and Tiled.

#

(I prefer LDtk, personally, but it's largely just personal preference there I guess... it does have many weaknesses compared to Tiled)

supple ether
#

The other thing I really want is at least a basic scene editor of some flavor. Animation being limited to gltf and sprite sheet is also somewhat irritating. I've been spoiled by godot.

rotund violet
#

Yeah, there's no concept of an "animated sprite" unless you're an Aseprite user. I got fed up back in 0.11 and built my own.

#

Depending on exactly what kind of animation you're talking about, some of that appears to have improved since then.

supple ether
#

I don't mind code first but having to write your own editor really cuts time out of actually making a game

supple ether
#

Makes some things waaaay easier

rotund violet
#

This is really more of a 3D thing, is it not? What do you use scenes for in 2D? I don't think I ever found a use for them.

supple ether
#

Idk if this is the same in bevy's typical usage, but in godot I use scenes for making larger conglomerate objects by arranging lots of smaller, simpler ones. And that seems like an ideal use case in an ecs-driven system like bevy

#

Like in one of my recent projects there's enemies made of multiple pieces, each of which has its own hitbox, health pool, and behavior. Obviously they need to be in a specific arrangement to look right, and be easily reusable, so I use scenes

rotund violet
#

What does the "scene" part do that parent-child/transforms don't, though? Just an easier way of instantiating them all at once, like a prefab?

#

Right, I was figuring it was like multipart enemies or weak points or something.

#

Different approaches, I guess; I wanted to have everything be externalizable (i.e. moddable) so I didn't go the scenes route.

supple ether
#

Are scenes not moddable?

#

That seems like it defeats the point

rotund violet
#

They are, sort of, just not in the right way for what I wanted to do.

#

They're an asset like any other asset, so as long as you can achieve what you want by merely editing the asset, then it's fine.

#

Not sure if there's a word for the design but I think of it as "fixed assets" - that is, you can mod the details of an asset (like a scene) but the nature and purpose of that asset still have to be defined ahead of time.

crystal wren
#

Now I'm just wondering what a tscn gets melted down into in a Godot build...

devout vault
crystal wren
#

...do we not want to know the answer?

rotund violet
#

Which I compare to dynamic assets (again, not an official term at all) where the asset is just identified by something like an ID and can have entirely unique attributes or behavior. I guess sort of like Stardew's item system, if Object wasn't one giant monolithic class.

devout vault
#

I mean, it's basically just a binary version of the tscn if I remember correctly.

#

Though that was in 3

safe dragon
#

I thought I clicked on the bevy server by accident

#

scenes are coming in the next verson of bevy most likely

#

cart has been working on BSN for a long while now which is essentially the scene format for eventually almost anything scene related

#

both writable as separate files and eventually possibly generated through an interface or as a bsn! macro

#

that'll have to wait 3 to 4 months tho

#

it didn't make it in this release cause of observers taking the focus near the end

cinder karma
#

Huh, the TeX hyphenated algorithm is less complex than I thought it would be

#

(The 1977 knuth algorithm, not the current one)

safe dragon
#

fuckin knuth

#

I stared at the dancing links algorithm he thought of for way more time than I'd like to admit when writing a sudoku solver

cinder karma
#

Man is a genius

#

Unfortunately he's on my shit list today for "dear lord please exit codes were a thing when you wrote latex"

#

Also I'm amused that even my currently feminine-hobby-associated username doesn't mean people don't assume I'm a guy

rotund violet
safe dragon
#

I'd barely call it scenes unless you count like... loading in something from blender as a big ass gltf

rotund violet
#

I guess I'm the odd one out, I'm just allergic to the idea of putting the actual ECS structure in game data. Like dev outside of games, the structure you want for serialized data is rarely the same structure you want for in-memory representation.

#

There's already the .scn format, that's not gltf (is it?)

safe dragon
#

I mean that's still just as possible then as it is now right

#

right, it does have that

rotund violet
#

Sure, I mean you can read the scene and transform it into something else, but if you're doing that anyway then what's the point of the scene in the first place?

#

To me that makes customization and modding more difficult, not easier; you as the dev have less control over how the data is "deserialized" and therefore there's more requirements for the scene to be an actual complete bundle as opposed to data with lots of friendly names, IDs, cross-references and so on.

#

I guess you could treat a scene as just data, but then you might as well use plain old RON for it.

#

Probably I just don't understand. Maybe I'd grok it if I'd spent more time in the professional game dev world.

safe dragon
#

idk enough to know what the exact limitations are of the current scene format but I don't understand how a better way to define your game assets/scenes impedes in any way on anything that currently exists

#

why would it affect modding in anything but a positive way

#

it allows more to be defined in a loadable file format

#

if you prefer code only you can still just use either the old way or the bsn macro

#

and having a standard format that plays nicely with all the features of bevy allows tooling to be written that can write out to that format, for example a UI editor

rotund violet
#

I just don't think scenes are actually a better way.

#

They're a quicker way, maybe, when you're just starting out, and there are projects like bevy_proto that do similar things. But they don't scale well.

safe dragon
#

what do you use instead? level creator tool like ldtk that you then load in and associate components with?

rotund violet
#

Pretty much.

#

Level entities reference template IDs and I wrote a little template loader based on generics and RONs.

#

I just never ran into a scenario where I thought, "I wish I could have this load the entire component bundle for me", because I always needed more control over the spawning process, not less.

safe dragon
#

I'm not really sure in what way that has a benefit over a custom format specifically for all bevy features beyond already having existing tooling currently

#

ldtk is a nice tool but it doesn't offer any benefit to making a game behind already existing

#

it doesn't even support collision maps in its format

rotund violet
#

I don't think ldtk or tiled are in the same genre as scene loaders/editors anyway.

#

They're complementary tools.

safe dragon
#

I guess we just don't really understand each other here

rotund violet
#

Apparently not. Not surprising since I never understood the point of scenes anyway except for some 3D games and maybe point-and-click adventures.

#

You're saying there is a point, and it's better for X, and maybe you're right, but I just perceive it as being worse for the same X.

#

Even back when I played around in Unity I just never felt I found the sweet spot for prefabs, which I interpret as pretty much the same concept.

safe dragon
#

I don't really understand what you consider to be the alternative to some kind of "scene" beyond completely code only which would to be feasible for anything beyond either small projects or completely randomly generated ones

#

and can't work in general for a game project project with non programmers

#

which is almost all of them

rotund violet
#

What, exactly, is a scene supposed to represent? I mean, what physical comprehensible in-game structure does it correspond to? Levels are almost always better solved with a dedicated level editor. And major game engines almost always have a non-scene "data" format, like Gamebryo's plugin structures.

safe dragon
#

I consider things like ldtk to also create scenes, they just need an extra step to become understandable to bevy

rotund violet
#

I guess so, but a level editor is way friendlier than a generic scene editor for that kind of thing.

safe dragon
#

a scene is absolutely anything from entire levels to a single enemy going by the meanings used in Godot or bevy

rotund violet
#

Especially if we are talking about a project with non-programmers, as you said.

#

I mean look at the modders here, they have enough trouble with tiled, can you imagine foisting a bunch of property sheets on them and asking them to figure it out?

#

If a single enemy is a scene then what is the benefit of defining it as a "scene" vs. just defining a plain old rust object and putting a RON file in the game assets? What do scenes add to this process?

cinder karma
#

They'll learn. It takes time

rotund violet
#

Sure... didn't mean it as an insult, I'm just saying there's a learning curve, and learning to use a map editor is a million times easier than editing a bunch of data in scenes.

cinder karma
#

That said: I don't know what the base minimum computer science skills for like video game devs is

rotund violet
#

These kids are able to figure out tiled, even if it's difficult; if we look at the Bethesda side and people trying to figure out ESP data and file overrides, they just can't grok it.

cinder karma
#

Slash I don't interact with nearly anyone, professionally, who doesn't know how to program a little

safe dragon
#

I mean a RON file can also be a scene format just the same though you'd struggle to have that play nice with compile time correctness validation and autocomplete

rotund violet
#

Eh, bevy asset loader handles that pretty well, if it fails to deserialize a RON it'll tell you exactly where the error is.

safe dragon
#

the main issue rn for bevy and modding is that the dynamic query creation isn't fully done yet so it'll be difficult to develop some kind of modloader that allows for scripting new systems and the likes

rotund violet
#

I just want to be clear, I'm not trying to say you're wrong, I just haven't been able to find a good example of scenes demonstrating why scenes are unambiguously the best solution. I like being able to just edit a RON or YAML file to tweak, say, the hit points of an NPC.

#

Or even have it reference an entirely different sprite.

safe dragon
#

you'd still be able to do that just the same in bsn, it's not like it's going to be anything that isn't human readable

rotund violet
#

What does it add, though?

#

What does it do that I'm not already able to do?

safe dragon
#

idk I don't develop for bevy nor am I perfectly aware of what RON reasonably supports

#

I know RON has been considered in the past many times

rotund violet
#

RON is just the rust-friendlier version of JSON or YAML. Slap a serde on any rust type and you can probably deserialize it from a RON asset.

#

As far as I understand the scene proposal, the main difference between deserializing a RON file and loading a scene is that loading the scene actually loads components directly into the ECS - which is what I'm saying I don't want, because the ECS representation is far more complex than the "config data".

safe dragon
#

i haven't used it enough to really know. I'm from a web developer world where templating languages rule

#

whether I have to define an entity. spawn in a code file somewhere or have it be a bsn doesn't matter too much. You could still just use that for anything that is very dynamic

#

I understand wanting a difference between the internal representation and the external one. It's why APIs tend to have contracts that differ from the internal way they're used usually with some kind of mapping layer

rotund violet
#

That's my position, yes. Very obvious example being referencing other assets like textures/sprites; you want the mod data to just mention an asset path or name and have the loader figure out what that resolves to. But there can also be cases for referencing other entities or attaching to other world data.

#

Maybe the BSN loader is going to magically do all that, I don't know. Guessing that Pathos had to put in a lot of work to get CP off the ground and it required full control over the mod loader.

#

Evidently I'm in the minority since there's clearly a lot of demand for the feature and the Bevy team is putting a lot of resources into it. Doesn't change the fact that... I just don't get it.

safe dragon
#

I'm not remotely familiar with how modding works for any videogame so no comments there

rotund violet
#

Haha, wait, you're on this server and you never made any mods?

safe dragon
#

better yet

cinder karma
#

I mean

safe dragon
#

I've never used one

cinder karma
#

Crumble is purple

rotund violet
#

So what's your connection, were you a challenge player or something?

devout vault
#

This is just the stardew server, it's not all about mods

safe dragon
#

I've been here since before the game even launched

rotund violet
#

I know the server's not all about mods; but this channel is under the "game modding" group.

safe dragon
#

I haven't looked inside a sdv related channel in like 7 years

cinder karma
#

Yeah so this is for lost programmers clearly

#

No one mentkon test I'm not a real programmer

devout vault
#

Your code is better than mine SDVPufferSweat

cinder karma
#

No it is notdo

safe dragon
#

I basically joined this server to speculate on the features sdv might have when it would eventually launch and the potential release dates

#

then I made friends

#

stuck around in the off topic channels

#

I consider this to be an off topic channel, it's even in the name. I am a programmer and I spend my time in the off topic channels

#

this place was basically made for me 🙏

rotund violet
#

Alright then. In the future I will not assume any knowledge of mods or game dev.

#

this place was basically made for me

I was thinking of saying something like "so you're the reason this channel exists" but it sounded sort of rude in my head.

safe dragon
#

I do have a degree in game technologies fwiw but that's more stuff like computer graphics

#

I decided to not pursue game development further pretty early on

rotund violet
#

Didn't enjoy the vagaries of DirectX textures?

#

I actually learned a lot from my amateur forays into game development that helped in other parts of my career. But I do tend to hear the same story from most actual pro game devs (that it's a soul-sucking profession).

safe dragon
#

the game development market is just pretty much the least reliable, lowest paying and least available path to follow in software development. Like here in the Netherlands you either gotta be very experienced and be able to snag a job at guerilla games or something or you're working for some small indie team who probably can't even afford to pay you much despite likely having to work a lot

#

you need a very significant passion for the craft to stick with that industry

#

which I knew I didn't have

cinder karma
#

One of the interesting things I'm amused by is that my field like, working 6 days a week is kinda normal

#

(Electrical engineering)

#

But we get paid pretty damn well on average for it

safe dragon
#

I try to avoid places where working beyond the regular 40 hours is normalized

rotund violet
#

you need a very significant passion for the craft to stick with that industry

Funny how we're (well, some of us are) willing to do for free what you couldn't pay us to do.

safe dragon
#

not that Dutch law allows for much beyond it usually

rain apex
#

modding as a fan is working on a game project you like

rotund violet
#

Yes, but in the distant past, all game dev was kind of like that.

rain apex
#

if u r work in actual industry your chances of doing that is a lot lower

cinder karma
#

Modding seems very unfun I agree!

safe dragon
#

I might get into modding someday though probably not sdv cause (and I'm sure this is a strange thing to say) I'm not actually all that into sdv

#

I've never reached year 2

rotund violet
#

Before the AAA "era", people worked on games because they liked games and wanted the games to get played.

safe dragon
#

yeah passion is what dominates much of the industry

#

I have little to no creative drive in that regard

rotund violet
#

Hardware is similar to me, I'd rather just fool around modding devices or trying to make my own gadgets.

rotund violet
safe dragon
#

to be clear. I also have zero passion for what I develop for for my job, it just pays reliably and I enjoy the act of programming itself quite a lot even if I don't particularly care about the end product it's for

#

programming for me loses the appeal when there's no puzzle to solve

cinder karma
#

Don't care about cash registers, huh?

#

Tbh I find programming inherently fun to a point

#

The point is when users show up expecting things to work

safe dragon
#

having spent the last 3 weeks in the absolute hellish depths of bookkeeping law and invoices I can't say it's my favorite thing...

cinder karma
#

Meanwhile i have a lot of sorrow when it comes to weirdly shaped sockets and bad uses of lvds

safe dragon
#

ok I'm working on a genuine longterm project that I also expect to actually use as well

cinder karma
#

I'm pretty enthused at the knitting pattern thing I mentioned earlier

#

But it also comparatively simple

rotund violet
# cinder karma The point is when users show up expecting things to work

It's a delicate dance, for both game dev and conventional programming... if you completely divorce the users from it then usually the result is trash. Games by people who are just pursuing their "artistic vision" and don't care about what the players want are usually bad games. On the other hand, products driven by UX research and customer surveys are also usually trash.

#

Seems you have to listen to the users.... but not too closely.

cinder karma
#

I mean, I have no desire to be a game dev and at this point couldn't care less

rotund violet
#

It was just an example. Like I said, applies to all fields of software.

cinder karma
#

My interaction with programming is more as applied math

safe dragon
#

I have no intention for anything I make to have users beyond myself tbh

#

other than the longterm project which is extends to also being used by my sister

#

of course if I made customer facing projects I'd want them to be something the user's enjoy using

#

but that's not happening any time soon

cinder karma
#

I mean, artistic vision doesn't describe software to me either

#

More applied math problems?

safe dragon
#

I gotta invent applications to make to have an excuse to program

cinder karma
#

Meanwhile I'm just checking out hypenation algorithms for no real reason than "spent half the day fighting latex"

safe dragon
#

replace all characters with hyphens

#

even control characters

cinder karma
#

Wasn't even fighting latex for a good reason tbh

#

I hate tables

sonic mirage
#

My college had a game dev track for the comp sci degree, but I decided against it since I didn't want to work at a giant studio and indie games weren't really a "thing" yet

supple ether
#

I've had a hobby of making games for years (or... tinkering with them, at least) but I would never do game dev at a major studio

#

Indie games sound like a good time but that's also a moonshot. Either you get lucky and the thing you wanted to make is also something lots of people want to play, or you grind your own soul to dust churning out trend-chasing games

#

(assuming you don't just go broke)

worn remnant
#

same here. i can't imagine shipping or even working on a game in any capacity besides "individual passion project"

supple ether
#

I can imagine it, but game devs don't have unions and studios have consistently shown that they will crunch you until you die

worn remnant
#

and actually indie-ing a game to completion seems similar to opening a restaurant: fun to dream about but nightmarish to do (which is why i haven't tried it)

supple ether
#

I would definitely try if I had some other means of supporting myself, but like. I don't.

#

If I win the lottery I'll pick up game dev lol

#

Or maybe if I ever retire

pliant snow
#

Dont have to try and make money off it, it can just be a fun hobby

cinder karma
#

Users seem tiring

supple ether
#

I mean, that's what it is now. But I still have to pay rent and buy groceries and I need an income to do that, and that means spending time on things that are no indie game dev

cinder karma
#

Tbh I voluntarily signed up for six day work weeks and I still prefer my little corner of the world

#

At least we get job stability out of this

#

(Also because actually users sound tiring and my idea of "fun code" looks more like scientific papers than useful code.)

supple ether
#

I definitely get lost in the weeds sometimes

cinder karma
#

Right now I'm sufficiently exhausted that my creativity goes to knitwear...

supple ether
#

For that building mod I was working on the other day I wrote this thing that used reflection to find subclasses that overrode a virtual method and combine them all into a switch statement based on class name. So I could be supremely lazy if I wanted to add more

#

Overengineered as fuck but it was fun to write and worked first try

cinder karma
#

That said as someone who did not grow up with video games, I don't have any attachment to the genre personally

#

Or to put it another way, writing a minimally allocating json parser sounds fun

supple ether
#

That does sound fun

fleet wren
# sonic mirage My college had a game dev track for the comp sci degree, but I decided against i...

I wanted to be a game maker back in college, even joined a couple clubs. I bounced out of it, 5% due to my (at the time) lack of artistic skill and 95% due to the absolute horror stories coming from either inside big studios or indie developers chasing an impossible dream

I now have a cushy, stable good ol' software dev job and couldn't be more content. Once in a while my mother sends me an article of an indie/mobile dev striking it rich and says "This could have been you!" and I just reply "No, it couldn't" lmao

supple ether
#

I mean it could've been you, the same way I could've been rich if I bought a lottery ticket last time I went to the drug store. We'll never know for sure, but I'm comfortable in the fact that I didn't waste $20 on the lottery

cinder karma
#

A client recently sent in this jacket after getting caught in the rain. We tested a variety of solutions to remove this dye bleed however it is not correctable.

Very disappointing to see this occur on such a unique and expensive piece. A simple test should have taken place before this garment was sent for manufacturing. Also the FTC requires a...

▶ Play video
#

Is it weird that I kinda like the look of this

#

I mean would never buy it but maybe would try to make it

rotund violet
supple ether
#

I still do mod stuff all the time for free because I want to make things

cinder karma
#

Command line program, I am piping your stdout to a file. Why is it still on my console

#

Grump

#

Grumps at badly behaved programs

#

Also smapi has spoiled me i need my warnings in yellow now

safe dragon
#

console logs that don't have color coding are evil

pliant snow
#

If youre piping it, that would be on the shell command if the output isn't redirecting properly

cinder karma
#

....it was stderr

#

I didn't expect that since it was basically stuff like "compression level = 74%"

#

(This is actually a nightmarish mess of python orchestrating a bunch of subprocesses)

#

So I had to tell stderr to go to.

safe dragon
#

gotta compress 100% for no error soz

#

compress down to 0 bytes

cinder karma
#

I enjoy launching hundreds of subprocesses

#

And seeing what my laptop tries to do

safe dragon
#

it will cry

#

fork bombing yourself for funzies

crystal wren
#

So that Zed editor isn't bad!

safe dragon
#

oh it has a stable linux release now

crystal wren
#

Yup!

#

Just tried it out because of that, and it's... pretty snazzy.

#

I hate their install method, though.

curl https://zed.dev/install.sh | sh
safe dragon
#

basically the same as how people install rust

#
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
#

and rust has no flaws as we all know

crystal wren
#

The search results page is pretty, too.

safe dragon
#

might try it out tomorrow or over the weekend

#

I wouldn't mind having a replacement for vscode

#

performance has never been an issue for me with for vscode but vscode has just been incredibly unreliable with my usage

#

tbh I'm used to visual studio. I've probably become numb to editor performance

#

in the webforms page I've been working in lately it takes roughly 20 seconds to save the file as it generates the new designer file

cinder karma
#

Huh

#

VS to me is unstable but more powerful

#

Vsc I've also never had performance issues with

#

But VS will like

#

Occasionally go "you tried to delete a file? fatal error sowwy"

safe dragon
devout vault
#

I sometimes have to restart VS because it locks the DLL I compile even though the program stopped running (usually happens with my mods)

cinder karma
#

vsc is like "asked me to rename v to voltage in this method? Okay I'll do it for the whole damn file 😸 "

safe dragon
#

smh v is velocity

safe dragon
#

tbh every editor I've used has had issues other than jetbrains rider

#

but that's probably cause I haven't used jetbrains rider enough

devout vault
#

I only use it when I have to C# on my mac, since VS died

safe dragon
#

I only use it on linux for hobby stuff and I practically never use C# for hobby stuff

#

since I am not a modder

devout vault
#

C++ used to be my favorite language but that was mainly because it was where I learned most of my programming skills.

#

I'd much prefer sticking with C# over C++ at my job SDVPufferCry

safe dragon
#

C# is definitely the language I'm the best at and it's been my job for as long as I've had a job

crystal wren
#

I'll take a lot of things over Unreal-style C++!

devout vault
#

shivers

#

(That's what I deal with, kinda, though I can't really elaborate further because NDA)

safe dragon
devout vault
#

That and Perforce, bane of my existance

safe dragon
#

I'm learning more and more that the scripting languages for game engines are all kind of cursed in their own ways that differ from the language normally

crystal wren
#

VCS I've touched:

Git
Mercurial

That is all.

devout vault
#

I used SVN back on google code

safe dragon
#

vcs I've touched:
Git

#

and google drive zip files

#

my source control of choice back in uni

gaunt wadi
#

Intelligence on tap

Save time and keystrokes by generating code with AI.

🤮

safe dragon
#

yup

#

I mean it's at least tucked away slightly more than vscode in the marketing

gaunt wadi
#

seems like these are the same people that made/contributed to atom/electron

#

do they ever say why they stopped doing that and made a new text editor

#

there must be some motiviation

fleet wren
gaunt wadi
#

i can 🤮

safe dragon
#

ironically I know treesitter better than atom

crystal wren
safe dragon
#

this is the important part of course

crystal wren
#

I just want something like VSCode that isn't Electron-based. So right now... Sublime and Zed seem to be my only real options.

safe dragon
#

I just like trying funky new things

ivory shadow
#

I'm still astounded by how well VSC performs whenever I remember that it is an Electron app

crystal wren
#

It's just the startup time I dislike. Other than that, it's shockingly fast yeah.

safe dragon
#

does electron really have that much of an impact on performance beyond the base cost of running the chromium layer

#

it uses more resources when doing nothing than I'd like but I don't think it affects much for anything you're actually doing beyond that

cinder karma
#

But my performance metrics!

#

What if I'm doing nothing:(

safe dragon
#

it will do nothing sluggishly hc_pensive

gaunt wadi
#

I've just made the switch from sublime text to vscode, it has been fun

#

I used sublime since high school I think

crystal wren
#

I really need to just buy the Sublime pack at some point. I'm truly evil.

safe dragon
#

I used sublime for like 15 minutes at one point thinking I needed it for some project only to realize I misremembered and it was atom I needed

gaunt wadi
#

zed looks neat, a bit too tech company for me, but it's not like vscode is any better

gaunt wadi
#

well worth it

gaunt wadi
safe dragon
#

the editor I'm most interested in from a nerdy perspective is Helix but the keybinds being different from vim completely fucks me up and it doesn't ultimately gain me anything over using a preconfigured neovim config rn

gaunt wadi
#

mouse gang 4 life

safe dragon
#

I do like the mouse

#

the built like a videogame thing for zed's marketing is funny to me

#

it's such a roundabout way of just saying it makes good use of hardware acceleration

gaunt wadi
#

bit too tech company startup marketing nonsense

safe dragon
#

yes

#

it does not excite the nerd me

rotund violet
#

Ok, going to rubber duck something, or maybe one of you has an answer. Is this a "go home C# you're drunk" situation or am I just blind?

I have T explicitly guarded as notnull, but VS insists that the value can be null when passed as an arg. Ironically, if I remove the notnull constraint, then it stops complaining. WTF?

cinder karma
#

You see how you have Name = tab?

safe dragon
#

because you added a ? you've basically told it to look for null

cinder karma
#

You said earlier that tab is not null, but then guarded against jt anyways

#

So the compiler is like "uhhhhh okay this is inconsistent"

ivory shadow
#

Yeah, if you ever use ? on a variable, then the interpretter will think it can be null from that point. Likewise, if you use ! on a variable, then the interpretter will think it cannot be null from that point.

rotund violet
#

Yep, you're right. Not the first time I've had that happen either.

#

Kind of dumb. It should be squigglifying the tab? part and saying "this actually can't be null", not everything else.

safe dragon
#

tbh I think this comes more from when your project is set to nullable = false where it needs to rely on stuff like this to figure out nullability

ivory shadow
#

C# rightly assumes that, if you are going out of your way to guard something as possibly null, then it might be null. The interpreter isn't perfect, and if you're calling into questionable libraries (like the game) then nullability might not hold up at runtime, so it trusts that you know what you're doing if you use ? or !

rotund violet
#

I never set nullable to false.

safe dragon
#

you could argue a better warning would be to point to the question mark in the message and be like "inconsistent null signature" or something

safe dragon
rotund violet
#

That's what I did argue, lol

safe dragon
#

I suffer on every project where it is

#

which is most

#

cause most projects are much older than that option

rotund violet
#

Most of my projects I set nullable warnings to errors.

#

It's actually only the SDV mods that don't go that extra step, mostly because that's what I found in the default project template. I never actually leave any warnings.

crystal wren
#

so it trusts that you know what you're doing

Well that's its problem right there.

safe dragon
#

a very foolish error I do not make myself

cinder karma
pliant snow
cinder karma
#

This definition of "loseless" is not one I recognize

#

I thought the definition was "you can undoubtedly undo the compression to get the original back"

#

But their definition is "your human eyes won't notice the difference"

pliant snow
#

yeah thats not lossless lol

safe dragon
#

fuckin webp confused me to no end with their lossless

crystal wren
#

(Just as a quick heads up/warning to people I don't think will abuse it, Discord has new Markdown that absolutely nobody will abuse!)
-# This is a real message from Discord for real I promise honestly and seriously. dismiss

safe dragon
#

oh lord

pliant snow
#

wtf

crystal wren
#
(Just as a quick heads up/warning to people I don't think will abuse it, Discord has new Markdown that absolutely nobody will abuse!)
-# This is a real message from Discord for real I promise honestly and seriously. [dismiss](<https://www.stardewvalley.net>)
#

Yup!

pliant snow
#

since when has -# been markdown

safe dragon
cinder karma
#

-# test tests

crystal wren
#

Oh @safe dragon, the Markdown URLs trigger a timeout! SDVkrobusgiggle

safe dragon
#

I noticed