#programmers-off-topic

1 messages · Page 1 of 1 (latest)

thin estuary
#

O.o

crystal wren
#

Huh.

supple ether
#

This was probably needed lol

crystal wren
#

Weird. Wonder where this came from.

void rivet
#

Ooo 👀

modest jewel
#

👀??

austere comet
thin estuary
#

"first!", i guess

void rivet
#

xD

golden flame
#

cat_eyes new channel?

modest jewel
#

Perhaps to stop making-mods from going offtopic SDVkrobusgiggle

crystal wren
pastel mesa
#

👀

crystal wren
supple ether
#

Oh yeah that makes a lot of sense

sand frost
#

👀

worn remnant
#

they told me not to mind the other channels, but this one is relevant to my interests

crystal wren
#

Yeah, this one I anticipate will see a lot of use.

hidden nest
gritty loom
#

so basically this is where you discuss snakes, coffee and fiesta and iron oxydization and similar topics?

fleet coyote
#

SideEyeCriminal Hi everyone

sonic mirage
worn remnant
#

(sweating trying to decode fiesta)

fleet coyote
#

Yeah programming and stuff

golden flame
crystal wren
gritty loom
#

(well, maybe it's a french saying, hence the coffee that is maybe more classic version)

modest jewel
#

(Personally I'm stuck on coffee...which one is that SDVpuffersweats )

worn remnant
#

coffee i get. don't know what language fiesta is though

gritty loom
#

it's the same one :p

crystal wren
#

Java?

gritty loom
#

french would say "faire la java" to "faire la fête" ("to party")

void rivet
#

I only dont know what fiesta is

crystal wren
#

The iron one is nice! We'll wait for a certain someone else to come by who's particularly into it to answer that. SDVkrobusgiggle

worn remnant
#

ah, okay i don't feel as ignorant now

#

or maybe differently-ignorant

gritty loom
#

well, i'm glad i contributed to enrich everyone with a bit of french obscure expressions 😄

hearty nymph
#

first

fleet coyote
#

Close enough Yara SDVkrobusgiggle

half yarrow
grave onyx
#

How do you do, fellow programers?

half yarrow
#

Would be weird to get Lewis' shorts as a reward from a bundle...

marble jewel
#

Now that this exists, I'm gonna break rules and talk about modding

gritty loom
#

"i saw strange green creatures carrying a package libelled [link]" 😄

sonic mirage
#

I feel like we'll mostly discuss specific musical notes in here

dark veldt
#

And Rust.

marble jewel
#

I can imagine people having a discussion about programming mods, and then a junimo has to come in and say "hey guys, let's back off topic"

dark veldt
#

Just be good noodles and only be off topic here.

twin kettle
#

first

crystal wren
#

See, now I can post things like this oddity guilt-free.

#

Debug? Fine.

Release? What the hell is this SimpleTheme nonsense you're trying to use?

tribal tinsel
crystal wren
#

Yes.

sonic mirage
#

Well the channel is named off topic but still in the Game Modding section, not the Off Topic one, probably to avoid the meme-y shenanigans of those off topic channels

dark veldt
#

You bet your asset, butter

severe vault
#

looks up the Junimo Bundle Rewards channel way up top Did you coding peeps mess up the channels again? 😛

crystal wren
#

Nope! That's where Governor's going to post the free games from now on.

sweet monolith
#

huh

dark veldt
#

PufferThink Maybe I could convince some good soul to help this tadpole VSC user figure out why “debug” isn’t working for me…

severe vault
#

that... makes sense with the update dropping in

#

.... 11 days. that's too soon SDVpuffersweats

supple ether
#

stop don't remind me I'm already dying

sand frost
#

Are you using vsc to compile, logo?

severe vault
#

Anyway, back to off topic programming

supple ether
dark veldt
modest jewel
#

(...So, python right)

earnest cairn
#

this where we banish atra to? SDVpufferwow SDVkrobusgiggle

sand frost
#

No, im being lazy and resistant and refusing to stop using VS

#

But someday Microsoft will tear this away from me

#

Like the cruel overlords they are

dark veldt
#

I figured I’d start with VSC because of that, Elizabeth

earnest cairn
dark veldt
#

I never “got used” to VS

sand frost
#

Idk I’ve used VSC like for Python a couple times

supple ether
sand frost
#

I begrudgingly admit VSC has some nice features

crystal wren
# supple ether oh you're using avalonia too? what for?

I'm attempting to work on a tool to make using git as simple as possible for content/expansion people who don't want or need to think about actually using git. Just the kind of thing that'll monitor for changes and slap together a commit every now and again.

sand frost
#

But I prefer that raw text files command line experience

sand frost
#

Regrettably my poor taste means I can’t help you here, logo

supple ether
#

github desktop is a great ui but it doesn't do automatic commits afaik

modest jewel
dark veldt
#

Drat and darn. That’s okay, Elizabeth. I’ll figure it out somehow…

safe dragon
#

damn they finally made a nerd channel

modest jewel
#

So far I've only been making small apps, this is a surpriae

supple ether
modest jewel
#

Nice!

supple ether
#

the main reasons I use it is

  1. vs does not have a any built-in mechanism to publish for multiple platforms at once and
  2. I need to do zip shenanigans for macos packaging to get it to work right when publishing on windows bc chmod +x doesn't exist on windows
sonic mirage
crystal wren
#

That's actually what I use!

marble jewel
#

Sublime Merge is what I'm currently using too

sonic mirage
#

I use that in combination with Tortoise Git for in-file-explorer

marble jewel
#

Although, VSCode + GitLens does a pretty good job too

safe dragon
ionic musk
crystal wren
#

I want this tool to be as simple as: open folder > initialise repo where necessary > monitor > commit > repeat.

sonic mirage
#

I find it's not great for going through historical commits, but it's great for making them and doing merges

#

That's what I use TortoiseGit for

crystal wren
#

If you can think of anything that would be about as simple as that for non-programmers, I'm all ears! Saves me effort in the long run. SDVkrobusgiggle

sonic mirage
#

I think GitHub had a desktop app but I haven't tried it

safe dragon
#

I guess you could use inotify-win/inotify and whatever the built in macos one is to detect changes automatically for them. Only issue would be linux where inotify isn't automatically installed on most systems... And it'd still need to be a running application while they're working

marble jewel
#

GitHub Desktop makes things pretty easy too

modest jewel
marble jewel
#

I like to review my options for the tools I use about once a year to see if anything has changed

#

So I tend to get experience with all of the options

supple ether
hidden nest
#

Do we need to rename this channel to "DH's new home"? Hehe

safe dragon
#

also hi modders I don't mod but I do program for a living so I'm here now

cyan shadow
#

Hi Crumble kek

safe dragon
#

this is close enough to the off-topic channels I usually reside in

marble jewel
shadow wing
marble jewel
#

Slowly they're adopting Linux conventions

safe dragon
#

I'm so excited for sudo on windows you have no idea

marble jewel
supple ether
modest jewel
sonic mirage
#

@supple ether Re: Markdown convo in #making-mods-general : Yeah I've tried to use Markdown for personal notes but since in my editors it doesn't render that differently it's never really stuck. I usually just use a combination of spacing, horizontal lines, and ALL CAPS to split up sections and blocks of thought in my plain text note files.

safe dragon
#

as someone who uses linux for everything hobby related I keep forgetting sudo is not a thing when I'm on my windows work pc and have to close the terminal again and open as admin

modest jewel
#

Well, antivirus can stop you from executing things iirc but, not exactly what i mean

marble jewel
supple ether
marble jewel
#

I think the closest Windows gets to execute permissions are signed vs unsigned code, but even then everyone just turns off protection since it usually gets in the way of what you want to do

supple ether
#

which is kind of a shame because permission flags seem a lot more elegant

modest jewel
#

That sounds more confusing/troublesome than how linux does it, IMO

sonic mirage
#

"protection"

marble jewel
#

I'm a Windows main, but my work laptop is a Mac, and I run a bunch of Linux servers

supple ether
#

windows is a clunky piece of shit for power users

marble jewel
#

But muh gaming

safe dragon
#

I've been gaming on linux for years now with little issue

#

depends on the kind of games you play though

supple ether
#

the only reason I've stuck with it for as long as I have is because it's a pretty standardized platform with good compatibility

sand frost
#

I exclusively game on mac but I don't play intensive games

#

I play stardew mostly

supple ether
#

I am always tempted to use linux but there's a lot of programs I would miss

sand frost
#

a little bit on mini metro

marble jewel
#

Honestly at this point, I could probably get away with running Linux Desktop, but there's just those random things that I run into every now and again

modest jewel
#

Yeah, wine is pretty good (esp if you make a game specific prefix), and there's always lutris

sand frost
#

I have a fear of having to debug my wifi drivers

#

thus am not on Linux

sonic mirage
#

Well Proton has "changed the game" for gaming on Linux thanks in large part to Valve and the Steam Deck

modest jewel
#

(There's also playonlinux but i never used it)

ionic musk
sand frost
#

also I am scared by the prospect of having to reinstall my OS sometimes when things go wrong

safe dragon
#

proton and lutris pretty much bundle everything you'd normally need together to run shit

supple ether
#

if it was just about games I would switch to linux right away

safe dragon
#

I deleted windows from my home pc pretty much immediately after I graduated uni and wasn't forced to be able to run Visual Studio anymore

modest jewel
supple ether
#

but there's a lot of tools and other programs I've come to love that are windows-only

#

there's stuff like wallpaper engine that will just never be on linux, and notepad++ which could conceivably be on linux but isn't

marble jewel
#

Yeah, I've learned what I'll miss switching away from Windows when I started using MacOS as my laptop

safe dragon
#

I just like the package management on linux too much. chocolatey and winget are neat but not the same

#

the biggest hurdle I have is that I use lightroom but I've just accepted to just use the ipad version as a compromise

marble jewel
#

I absolutely loathe MacOS Finder vs Windows Explorer, and I know a lot of people have some special hate for Explorer, but at least I can assign default settings that stick

ionic musk
supple ether
#

the other thing with linux is that while I realize it's theoretically possible to get any kind of shell you want for it, getting different shell components to work together might be a bit of a hassle

modest jewel
#

Finding linux equivalents has been easy for me because libreoffice is fairly close to office (i kinda prefer it more), but there's things that don't have an equivalent. Like that time in quarantine they did videocalls and the specific program wasn't available for linux SDVpufferdead

supple ether
safe dragon
#

windows explorer search is just really bad but the rest of the application is fine... ignoring the double context menu they added in windows 11 that means I now always have to open context menus with shift right click instead to actually get the options I need

sonic mirage
#

Windows Explorer couldn't find it's way out of a paper bag

supple ether
#

I just want something that's not fucking electron

marble jewel
safe dragon
#

I'm not doing registry hacks on my work provided laptop

modest jewel
#

(Isn't notepad++ avaiable via snap?)

marble jewel
#

Ah, my work actually implements that hack by default

modest jewel
#

Genuine question. Though that uses wine IIRC

supple ether
marble jewel
#

They know that no one wants that behavior by default so all work laptops come pre-equipped with it

supple ether
#

for anyone on windows: WinAeroTweaker is a godsend

sonic mirage
#

I looked at a bunch of Windows Explorer replacements but never got around to actually using any

marble jewel
#

But my work laptop just went out of warranty so I got a Macbook M3 instead, and I'm so far loving it

safe dragon
#

there's a million applications on linux that can replace notepad from stuff basic stuff that are essential text editors to stuff like Kate which are borderline just fullfledged code editors

#

if there's one thing linux has more than enough of it's programming tools

#

I guess you don't have adobe dreamweaver if that's something you feel very fondly for hc_pensive

supple ether
#

all the popular ones I could find were either like basic text editors or bloated electron junk

marble jewel
sonic mirage
#

XYplorer, One Commander, Free Commander, Double Commander.. just never settled on one

marble jewel
modest jewel
cinder karma
#

God I should get long paths

safe dragon
supple ether
#

I can write web pages in my sleep

safe dragon
#

no webstorm not even visual studio code just base vim no plugins

modest jewel
sonic mirage
#

Wait who is using Dreamweaver for web dev in < current year > ?

#

pls no

safe dragon
#

no one I hope

marble jewel
#

Oh wait, I can't find the Linux donwload, but I swear I got emailed on the waitlist

ionic musk
#

mlocate is one of those great Linux packages too. Windows Explorer file search is so sloooow

sonic mirage
#

We had a few clients bring us their existing site written in DW and they were nightmares to clean up

supple ether
safe dragon
#

since my work is very very entrenched in dotnet stuff my web development task are either fuckin Webforms or Blazor depending on its age which in both cases are best done in visual studio

supple ether
#

dunno if it exists for other platforms

#

it's a work of art though

marble jewel
modest jewel
supple ether
safe dragon
#

I've been stuck back on webforms lately and I don't recommend it

marble jewel
#

I mean Word can actually output garbage HTML, or at least it could

#

As in, not writing HTML, but using it for formatting, tables, and such

cinder karma
#

How is refactoring support

sonic mirage
#

I have clients that will screenshot their screen, print it out, write on it and circle things, scan in it back in, put the image into a Word doc, and then convert the Word doc to PDF and email it to me. I'm not even surprised by it anymore

supple ether
#

hmmm gpt-4. not a huge fan of that

marble jewel
#

Oh wait, it was a different MacOS application that added Linux support I was thinking of. Warp for terminal.

safe dragon
#

well they claim support for the LSP protocol so I imagine it just supports lsp code actions

cinder karma
#

Autojump

marble jewel
cinder karma
#

Is what I use. Excellent bit of time-saving

safe dragon
#

can't be bad if it's rust

supple ether
crystal wren
#

I've seen that around a lot!

cinder karma
#

AI built in?

supple ether
#

oh it also has ai though

#

can tech people stop putting ai in shit please

marble jewel
#

Yeah, I've been trying out a bunch of new apps to find alternatives to what I'm used to on Windows

supple ether
#

I like dumb technology

safe dragon
#

if you want a fast very good terminal that doesn't have ai shit, alacritty

#

it's also written in rust!

#

for bonus points

marble jewel
#

I don't mind AI features as long as they're not intrusive

ionic musk
cinder karma
#

Rust is nice

supple ether
#

I like rust

cinder karma
#

It's fun to write

safe dragon
#

I do also like rust but I am always amused whenever I see any new project or an update and see the seemingly inevitable "(partially) written in rust" sentence. Even fuckin JQuery 4.0 wasn't safe from being rewritten in rust

sonic mirage
#

What syntax is Rust most similar to? Does it look like Swift?

ionic musk
crystal wren
#

Much better.

supple ether
#

most of what I program is in c# because I'm more familiar with the syntax and don't need a systems language. Also to a lesser extent I'm still wrapping my head around the borrow checker

safe dragon
#

I use neovim for pretty much everything that isn't dotnet development

supple ether
cinder karma
#

Some from python too

#

Some from haskell

safe dragon
#

can't say it'd take more than an hour to learn the rust syntax if you already know a bunch of languages. The borrowchecker is the real first hurdle

sonic mirage
#

Like when Kotlin came out I was like: Oh, they did a bunch of things Swift did. So I just kind of assume each new language uses similar things to other newer languages

supple ether
#

yeah

#

the syntax was self-explanatory (mostly) but the borrow checker is something I'm still wrapping my head around

cinder karma
#

The language really is comfortable to write

#

Other than arguing with the borrow checker

supple ether
#

I feel like once I understand it I'll really enjoy writing rust but until then it's slow going

cinder karma
#

Tbh beats type erased c# threading

safe dragon
#

thank god it did not inherit the "hidden parameter" part of haskell aka point-free/tacitfree programming or as people who hate it (like me) like to call it, pointless programming

sonic mirage
#

Is that for dealing with nullable/optional type things?

cinder karma
#

Borrow checker is the memory management static analyzer for rust

supple ether
#

the biggest things I like about rust are the built-in unions and the struct/trait system

cinder karma
#

It makes sure you don't commit memory crimes

safe dragon
#

rust doesn't have null it has Option and Result depending on the usecase

cinder karma
#

That was the thing I was thinking of in the alpha thread the other day

#

If I as a function expect you to give me ownership of a textuee

#

I can express that in rusr

#

I can also express that in cpp

#

I can't in c#

supple ether
#

the struct/trait system is nice because it gets rid of inheritance entirely and forces you to use composition, but also it offers very low coupling between data and code, which is very, very nice

safe dragon
#

you can express it with a "pretty please" in the summary no one will read

cinder karma
#

Oh I always read xml docs

#

I'm also in love with proper Discriminated Unions

#

tbh, wren, I should learn Go sometimes

#

That one has a fun type system

safe dragon
#

the rust trait system is nice till it's not which you can very clearly see in the mess that is async

cinder karma
#

Bit like xompil3 time duck typing

marble jewel
# dark veldt I love my M3.

After having exclusively windows work laptops for... a long time, switching to the M3 is such a different experience. Like having a decent battery life makes me realize how bad my old laptops were, and the OS does a really good job at helping you manage a bunch of windows on the laptop screen

supple ether
#

I do too... but often they're just like
SuckBlotch(): sucks a blotch

cinder karma
#

Love it in theory need to play with it in reality

supple ether
#

that was one of the biggest things I struggled with avalonia is the documentation never really explains how something works and I kept having to dig into the actual source code to figure it out

dark veldt
ionic musk
# cinder karma I can't in c#

I've been enjoying a lot of C#'s features for awhile now. outs are really nice (til you cant use it with async), task handling is really nice. Extension methods are great

cinder karma
supple ether
#

"SetBorder(string) parses the border from a string" okay cool but what is the format for that string. does it handle null.

crystal wren
#

YES.

#

That's a super annoying thing about their docs.

cinder karma
#

Then you get bitching like "oh my God no user defined intrinsics?"

supple ether
cinder karma
#

Please let me use a Span

marble jewel
#

One of the programming YouTubers I follow, theo.gg had an interesting video recently about Go, and in it he talks about Rust and Typescript. Go is like a forgotten middle child because it's not as efficient as Rust and not as simple as Typescript (which we can substitute TS for C# and everything would still apply).
https://youtu.be/N8fjU_hlwDI?si=qCYUXYQdjlxVaDwV

After years of being, well, not fond of Golang, I think I'm seeing the appeal. I doubt I'll touch it (still spend my days in Typescript), but the benefits are clear. Sorry Rust.

Enjoy reacting to this one, Melkey

Check out my Twitch, Twitter, Discord more at https://t3.gg

S/O Ph4se0n3 for the awesome edit 🙏

▶ Play video
sonic mirage
#

out is a nice feature but I always find it a bit cumbersome to read code with it. Have to end up reading back up until I find where the variable appeared from.

safe dragon
#

can't say golang is very forgotten

cinder karma
#

Tbh I prefer the modern return a tuple

#

Over out params

marble jewel
#

This is an infographic that came out of that video

cinder karma
#

Haha

marble jewel
#

Like with Python or JS/TS you have a lot of packages and tooling to help you get a lot done quickly

cinder karma
#

I need to pick up haskell again

supple ether
safe dragon
#

then there's haskell which cannot be put onto this infographic cause it's neither easy to write performant code nor quick to write

sonic mirage
#

I avoid Tuples if at all possible. Just make a POCO for it.

cinder karma
#

Tbh like my python velocity is type error

#

Possibly because I'm working with shitty libs st the moment

supple ether
cinder karma
#

Lots of untyped BS

#

Pain

safe dragon
#

whenever I use tuples in C# I feel dirty

#

even when I use named tuples

cinder karma
#

Effing love tuples

supple ether
#

I do feel like they have a bit of code smell to them and they often give me the itch to just use a struct instead, but sometimes they really are the simplest option

cinder karma
#

I'll also do teensy record structs

sonic mirage
#

Ok, now go back and read your code with Tuples in year and tell me how easy it was to understand lol

cinder karma
#

I always name mine

safe dragon
#

with how easy records are to write in a single line it's not much effort to introduce a quick little record to be your return type if you really need to

marble jewel
ionic musk
sonic mirage
#

Hmm.. that sounds familiar.. is that a newer C# version thing?

safe dragon
#

named tuples might be like around .NET 6 ish maybe not sure

cinder karma
#

And also frankly I can go back to code I've not seen for years and still remember thr context haha

supple ether
#

the last time I used them was for storing an ordered list of paired items

sonic mirage
#

Lots of our client's C# codebases are stuck in the stone age

supple ether
#

it was used nowhere else and only passed around inside that one method so it seemed alright

#

I could've used KVPs but that seemed less clear intent-wise

cinder karma
#

Record structs my beloved

#

Double bonus points if I can make them read-only

safe dragon
#

I understand voltaek one of our windows forms applications recently received a massive upgrade from 4.5 to 4.7.2 and it took us like 3 years of begging with no progress.... till a client asked us to implement something that required a library that didn't support 4.5 and suddenly it was allowed for us to upgrade

#

maybe we will reach 4.8.1 someday

sonic mirage
#

We're currently migrating a company off of their Access 2000 database and pre-.NET VB desktop app

cinder karma
#

Oh god

safe dragon
#

oh

sonic mirage
#

Their database is approaching 4GB and the whole company is going to come crumbling down

supple ether
#

I had to write something in net standard 2.0 the other day and it was terrible

safe dragon
#

well good luck

marble jewel
#

I get to use the version of .NET that our Azure server supports, which upgrades at the pace of the Change Advisory Board approval. i.e. still on .NET Framework.

cinder karma
#

Have fun!

sonic mirage
#

So it's migrating 200 tables and 400 views to SQL Server, and boy do I just love that

supple ether
#

(it was a sourcegen and I couldn't get it to work properly in newer versions of .net)

sonic mirage
#

After that we'll create a new web app for them on current tech, but it's been a slog

cinder karma
#

Yeah sourcegen requires standard sadly

safe dragon
#

modern tech

cinder karma
#

What happened to the good old days of html and css

safe dragon
#

hey those didn't go anywhere

cinder karma
#

None of this dynamic BS

#

Give me a site a math professor might have written while drunk on a Friday night

sonic mirage
#

We don't use all these fancy JS SPA nonsense frameworks, we do C# and PHP sites with normal JS and CSS

safe dragon
#

I can't say I'm a fan of the SPAs either

sonic mirage
#

When a client comes back to us in 5 years for a change to their site we don't have to reinvent the whole thing because the basics continue to just work

safe dragon
#

or javascript for that matter

sonic mirage
#

We still have a client internal site that uses Prototype JS that we're trying to migrate to jQuery lol

safe dragon
#

people when they need a site with like 3 buttons that do something basic so they build a whole ass React application

marble jewel
cinder karma
#

God I'm getting sick of fucking up python types on stupid shit

supple ether
#

99% of webpages that use js do not need it. and a surprising chunk of websites using a framework could be replaced with static html

supple ether
cinder karma
#

God people annotate your fuckibg libraries

ionic musk
supple ether
#

that's not very semantic of you matt

marble jewel
#

<html bgColor="red">

sonic mirage
#

hey stop that

#

bad

supple ether
cinder karma
#

Incidentally typing is the thing I'm currently annoyed at c# at

supple ether
#

and marquees

cinder karma
#

Have to type scrub to use threads grumbled

marble jewel
#

<marquee><blink>This was a fun effect.</blink>

sonic mirage
#

Next you'll bust out a blink element

cinder karma
#

Unclosed tag!!

sonic mirage
#

I KNEW IT

safe dragon
#

I do like tailwind it's convenient

marble jewel
#

This is how you can tell who learned HTML when MySpace was the only social media platform

sonic mirage
#

Tailwind takes utility classes to absurdity

ionic musk
supple ether
safe dragon
#

I recently found out that the autoclosing tag like <div /> actually by definition does nothing in the html5 spec. It's just straight up ignored. Whether a tag is autoclosed is entirely decided by what tag it is

supple ether
cinder karma
marble jewel
#

<marquee><blink>Okay, better?</marquee></blink>

supple ether
#

that self-closed and otherwise-closed tags are the same?

safe dragon
#

well it's a remnant of the XHTML days

supple ether
#

only difference if its self-closed is that you can't give it child nodes

sonic mirage
#

All my homies use XHTML 4.01

supple ether
#

hell no

cinder karma
supple ether
#

screeching derangedly SEMANTICS SEMANTICS SEMANTICS SEMANTICS

safe dragon
#

like.

<div /> 
some text

Some text is actually inside the div cause autoclosing on a div does nothing

marble jewel
#

<b>Semantically bold</b> <i>Semantically italics</i>

safe dragon
#

idk why you'd do this with a div but you know

supple ether
#

text is nodes too

ionic musk
supple ether
#

it's also why div buttons are bad

marble jewel
#

I know, I'm just trolling. Semantics is such a nerdy subject that I think most people are unaware of.

sonic mirage
#

They know, they're just trying to make me tear out my hair

safe dragon
smoky moat
#

I think I love this channel

supple ether
#

this is just what making mods was before today lol

marble jewel
#

I know, making mods so quiet now

smoky moat
marble jewel
#

It's making mods only unhinged because after 10 minutes no one has come in to tell us to stop

safe dragon
#

or you can make it more fun

<div /> 
<div /> 
some text

and it will nest it in both!

sonic mirage
#

I feel like it was slightly more restrained in there lol

smoky moat
#

I'm going to learn so much haha 😂

smoky moat
cinder karma
#

Dh I love you

safe dragon
#

idk making mods I'm the wild card

ionic musk
# cinder karma How is this used?

Uhhh, it's kinda complicated so I'm not sure the best example. It's helpful for overrides. <? extends T> could be a return type, where it's any type that extends T. Like in C# if you have an override on Task<object> you can't change the return type to Task<MyObj> even though MyObj extends object. C# overrides don't work that way

supple ether
#

oh like constraints?

#

oh I see but also in overrides

#

interesting

safe dragon
#

you can do that with reflection but yeah nothing compile time that I can think of

marble jewel
#

Wait... that can't be done with type constraints?

supple ether
#

I think the "proper" way to do it in c# would be to just cast it, or have a separate method that called and casted for you

sonic mirage
#

I think that usually gets handled by having the return type be an interface

safe dragon
#

object is a bit of a weird case

marble jewel
#

Although, I'd probably do Task<T> where T : class

supple ether
marble jewel
#

Ah okay

safe dragon
#

can of course use a good ol dynamic everyone will love that

supple ether
#

dynamic is not as bad as I thought it would be

sonic mirage
#

Everyone did not love that

supple ether
#

I still avoid it though

marble jewel
#

brb replacing all my variables with dynamic

supple ether
#

I used it for Happy Home Designer for soft references against AT

cinder karma
#

And covariance

#

C# has that

safe dragon
#

I used dynamic once but then at 4 am I finally figured out how to write it without needing to resort to using it

supple ether
#

because using expression trees / il emission turned out to be too complkicated

supple ether
safe dragon
#

somehow I don't think I've ever seen this in any c# code I've come across professionally

supple ether
#

atra is probably better with c# than your average c#er

cinder karma
#

(I'm not a professional dev just a language geek)

sonic mirage
#

So why is it not just IInventorySlot<Item>?

#

How does the TObject help?

ionic musk
# cinder karma C# has that

Yeah if you're just changing the return type itself you can. If a child returns object you can override the return type to MyObj because MyObj : obj. But it doesn't work with async sadly. You can't override Task<object> with Task<MyObj> because Task<MyObj> doesn't extend Task<object>. In java you could do Task<? extends object> because of type erasure

sonic mirage
#

I think I'm just not familiar enough with the use of out probably

supple ether
#

you can do that with some types; I'm not sure why not Task since IIRC the generic version indicates the return value

cinder karma
#

Ring slots only accept rings etc

cinder karma
lethal walrus
#

:o

ionic musk
safe dragon
#

it's time for TaskCovariant

ionic musk
sonic mirage
#

Interesting

#

Ok, I need to do some actual work today. This new channel has killed my day lol

safe dragon
#

it's 8 pm, there is no work ignore your own timezone

#

I don't think I've ever seen the keyword this this much before in C#

supple ether
#

if it's in parameters, that's an extension method. otherwise it's mostly only used for differentiating between fields/properties and shadowing variables/parameters

safe dragon
#

yeah I mean I get why it's there

ionic musk
safe dragon
#

our coding guidelines at work and your preferred style would not get along

supple ether
#

my style has gotten a lot less messy over the years but I have no idea how it measures up to "professional" work

#

I do try to make the code as self-explanatory as possible though

safe dragon
#

well I doubt it's more messy than professional work...

cinder karma
#

Lol

supple ether
crystal wren
#

I just stole Pathos's editorconfig for SMAPI. That's enough to keep me in check, right? /s

ionic musk
#

Way easier to tell on things like GitHub what is and isn't a local var when you've got this. qualifiers

supple ether
#

I should probably add a readme

crystal wren
#

Yeah, I have my editor set to mark a lack of this. as an error.

cinder karma
#

A lot of Pathos's little ducklings do IMO

safe dragon
#

idk how pathos programs

hidden nest
#

Like a monster scaredchinchou

supple ether
#

one thing I am trying to do less of is storing monitor/helper statically in my mod entries. It's convenient but it feels like a bad idea for loose coupling and encapsulation

supple ether
safe dragon
#

I may have been here for longer than pathos but I have not set foot inside the modding channels

leaden marsh
#

woah new(?) channel

leaden marsh
ionic musk
supple ether
leaden marsh
#

makes sense

safe dragon
leaden marsh
#

just like stardew's codebase fr fr

safe dragon
#

I have not seen stardew's codebase but from what I know CA wasn't exactly a professional programmer

crystal wren
#

It's...

#

Written in a way that optimises for getting a game finished and working quickly?

#

I think I'd put it?

safe dragon
#

that's a very kind way to say it

crystal wren
#

Which isn't meant to be a knock at it at all! He was making a game to make a game after all.

leaden marsh
#

And did a damn good job at that

ionic musk
supple ether
safe dragon
#

yeah I mean I don't care even if your game is a 7000 line switch case of states defined as strings

#

if that worked for you... good for you

supple ether
#

basically every massively successful indie game is massive spaghetti behind the scenes because of that

leaden marsh
#

i mean that's basically the Object.cs item system now

crystal wren
#

I'm absurdly excited to run Haunted Chocolatier through ILSpy when it comes out to see his styles have changed.

safe dragon
#

it ends up being worse

leaden marsh
#

just ILSpy 1.6 hehe

crystal wren
#

But so much of that is Pathos and Casey and you!

#

I don't get to see commit signatures! SDVkrobusgiggle

leaden marsh
#

That's the fun part!

#

what did i miss what happened to pathos' name

cinder karma
#

Check the alpha channel

#

Speaking of names

leaden marsh
#

Oh banger, thank you Atra

cinder karma
#

Test

leaden marsh
#

pfffft

safe dragon
#

pathos is undefined? I know discord uses javascript but damn

supple ether
#

at least he's not [object Object]

safe dragon
#

[object Object] is not valid JSON

lethal walrus
leaden marsh
#

lol

cinder karma
#

DH thank you for the tag line

#

I love this

crystal wren
#

I think i++ == ++i is the equivalent of XxSephirothxX. SDVkrobusgiggle

#

Well it's factual!

lethal walrus
#

ah yes, my favourite channel! #codeybois

leaden marsh
#

LMAO i picked it because it's undefined behavior in C

lethal walrus
#

I do think sebs-basement would actually have been a good channel name though

leaden marsh
#

That is true!

crystal wren
#

It would have been that, but we ended up wanting clarity first.

safe dragon
#

you're not real

#

idk what's goin on with names

#

or what the alpha channel is

leaden marsh
supple ether
#

I can ping you in if you want

leaden marsh
#

^^

safe dragon
#

it should be false yes

#

++i == i++ would be true

supple ether
#

there's a thread for the 1.6 alpha

lethal walrus
lethal walrus
leaden marsh
#

that's assuming that the left executes before the right

safe dragon
#

because for i++ evaluation happens before it is incremented

lethal walrus
#

oh so it's doing ++i == i?

leaden marsh
#

i mean a better instance of undefined behavior i guess would be like

#

(new name)

lethal walrus
#

aw, i+++++i doesn't work

leaden marsh
#

it's undefined behavior in C though. Not because a compiler won't emit some functional code for it, but because the result isn't determined by the C standard

#

It's like INT_MAX + 1 in C

#

Signed integer overflow is a very classic undefined C behavior

lethal walrus
#

oh yes this is c

#

I had just been doing js lol

leaden marsh
#

It's probably(?) well defined in JS lol

safe dragon
#

well defined but does it make sense

leaden marsh
#

wdym

cinder karma
#

It is a bad idea anyways

#

Anyways

safe dragon
#

javascript loves to do things that don't make sense though for this one I dont' really see what it could do weirdly

cinder karma
#

Someone in Twitter is complaining about ieee754

leaden marsh
#

it's because the order of operations here are weird

cinder karma
#

So time to get into a stupid argument

leaden marsh
#

i++ is supposed to increment and be the old value, ++i is supposed to increment and be the new value

safe dragon
#

this makes sense I guess but it's a little funny. You basically just increment by 1 only to immediately override it

leaden marsh
#

right, but if they're in the same expression, which one executes first?

cinder karma
#

My general rule of thumb is that if I have to look up the order of operations table I need more parens

safe dragon
#

the more I think about this the less I'm sure this makes sense

leaden marsh
#

The point is, JavaScript will do something, which can be sensical

#

C is not JavaScript, and leaves a lot of the implementation details to the one who implements the compiler

safe dragon
#

sometimes it's just fun the ponder the very strange unusual code no one would realistically ever write to begin with

safe dragon
leaden marsh
#

like what an off the cuff thing to rant about

cinder karma
#

By definition Nan!= nan

#

Always

leaden marsh
#

Right, because it's not a number

cinder karma
#

Floats are also only partial ord due to this

#

Yeah

#

And they find it confusing haha

#

(I agree with the standard here.)

leaden marsh
#

I also agree with the standard here

cinder karma
safe dragon
#

well

leaden marsh
#

Yeah, though I'm not really sure if it's unspecified in JS?

#

A lot use the Chromium V8(?) engine anyways

safe dragon
#

not every browser has its own implementation of javascript. There's essentially three javascript engines that people actually use

#

V8 is the most common yeah

#

then SpiderMonkey for firefox and JavaScriptCore for safari(and a few random other things)

supple ether
#

<- smug look of firefox superiority /jk

safe dragon
#

I mean SpiderMonkey is defnitely the best name of the three

#

I do believe it's the slowest of the three engines though

#

not that it matters unless people go insane on their websites

supple ether
#

it's fast enough that I haven't noticed significant lag on anything other than reddit. (which was a while ago now) and on reddit I suspect the issue was that the infinite scrolling just kept making the page have more and more stuff on it and the bottleneck was probably DOM processing

safe dragon
#

yeah I haven't had any issues

leaden marsh
#

also firefox here, haven't really had issues either

pliant snow
#

alright so we'll trap the nerds in here then push them all out to sea right

safe dragon
#

I'll corrupt your arch cache

pliant snow
#

please, i can do that myself

safe dragon
#

so independent

cinder karma
crystal wren
#

Isn't it great? SDVkrobusgiggle

tropic anchor
#

👀 new channel just dropped?

safe dragon
tropic anchor
#

I can finally out my frustrations about the horrible workings of source generators without interrupting modding discussions chaos1

supple ether
#

maybe once in a while if we start to get into that border zone between stardew modding and general c# talk but overall I think it will go pretty well

crystal wren
#

Yes, give us the SAML rants!

supple ether
#

I did some sourcegen stuff the other day and it is... something

tropic anchor
#

Builds source gen -> has to restart VS for a change to take effect. Every. single. character

supple ether
#

YES

#

the playground online helps a lot though for threshing stuff out

tropic anchor
#

And how about the fact, I have access to loaded assembly type names and namespaces, but not THE ACTUALL TYPES

crystal wren
tropic anchor
#

Behold my horrific attempt to map out the types for an assembly (this took 4 days (I'm tired))

#

Got anonymous event handlers to work though

safe dragon
#

is this like some xaml alternative

#

I'm not familiar with saml

tropic anchor
#

SAML is the UI framework I just released to alpha, when I started working on it I talked about having an xaml like language attached (hence the name)

safe dragon
#

ahhh

#

I don't envy trying to work this low level in C#

tropic anchor
#

Not a fan myself, but I can only play minecraft for so long until I start itching to do something productive

#

Not on weekends though...

safe dragon
#

makes me wonder how microsoft behind the scenes implemented the eventcallbacks in blazor razor files to accept both async and normal functions

#

I don't remember xaml allowing anonymous event handlers

#

though I barely used it

#

I remember just getting annoyed by the converters

tropic anchor
#

And converters will still be a thing (kind off), since I can't easily take a string and convert it to a rectangle otherwise

safe dragon
#

ez

abc
d e
fgh
tropic anchor
#

Valid rectangle would now be something like 320, 320, 64, 64, which will then be parsed with a pre-build converter to a rect

safe dragon
#

tbh my experience with XAML comes from MAUI which was barely functional despite microsoft's claims

#

not a great introduction

supple ether
tropic anchor
supple ether
#

oh you're doing xml bindings that's a whole other can of worms

tropic anchor
crystal wren
#

All of my XAML experience comes from Avalonia, which is... at least better.

safe dragon
#

I know nothing about avalonia other than that it's the option that's actually cross platform instead of just pretending to be like MAUI

#

whether's it's actually good I have no idea

supple ether
#

it's based on WPF conceptually

#

I use it because there's not actually a whole lot of options for robust, data-driven cross-platform gui frameworks

#

it's not amazing but it's less terrible than much of the competition

crystal wren
#

Uno technically exists, but I've tried that very little.

cinder karma
#

plays draw 5

safe dragon
#

opens paint

supple ether
#

who needs a responsive ui? just draw it in photoshop and hardcode the buttons

safe dragon
#

ship the figma design as the final product

supple ether
#

I presume this is why electron is so popular despite the bloat

sonic mirage
safe dragon
#

just specify the resolution as one of the required specs

marble jewel
supple ether
#

I use vw and vh like god intended /jk

marble jewel
#

Like, who even needs flexboxes when you have the old position: absolute; left: 50%; margin-left: -400px;

crystal wren
#

Hey, stop looking at my Stardew mod's UI code.

marble jewel
#

I can't even tell if you're joking because Stardew UI code really do be like that

supple ether
#

the things we had to do before flexbox....

#

at least tables were better than frames shudder

marble jewel
#

frames, you mean overflow: scroll

supple ether
#

no I mean those ancient web pages that would make the navigation bar a frame. and also the sidebar. and the main content. and probably the footer

marble jewel
#

I'm sad that none of my old websites load on archive.org because I wanted to be clever and had a bunch of random crappy Javascript to load my pages

supple ether
#

not Iframes, frames

marble jewel
#

I was doing SPA before we had a good way of doing that

supple ether
marble jewel
#

Sadly scrapers weren't able to pick up all of my dynamic content so the page is just empty now

supple ether
#

it's like tables made of other webpages

marble jewel
supple ether
#

yeaaaaaah

#

also neocities

marble jewel
#

Why can't the internet go back to that. Peak design right there.

#

geocities, hypermart, virtualave

supple ether
#

there's still plenty of that in userspace! it's just hard to find because seo favors all the streamlined garbage corpo shit

#

neocities is a revival of geocities!

#

I've also found some nice old-school style forums

crystal wren
#

For some reason, that page just reminded me of image maps of all things...

supple ether
#

honestly image maps weren't a terrible idea, people just abused them

floral parcel
#
#include <iostream>

using namespace std;
int main()
{
  cout << "Omg we have a programming channel now!" << endl;
  return 0;
}
gaunt wadi
#

the long discussed programming off topic chat is here

#

a momentous day for the server

#

#modding continues it's slow takeover

pliant snow
#

this is the new jukebox development channel

#

we're outsourcing

gaunt wadi
#

the number of modding related channels has quintupled in the last 5 years

cinder karma
#

We're writing it in rust

pliant snow
#

think of this channel as like chatgpt

gaunt wadi
pliant snow
#

and about as accurate

cinder karma
#

I can't hear you over rust

#

Look

#

We're even in the channel byline

leaden marsh
#

You can't spell rustaceans without C

supple ether
#

so when are we getting a stardew-oxide library to let us make mods in rust atra /jk

gaunt wadi
#

I don't even know what a computer is

supple ether
#

its something you craft with a dwarven gadget

cinder karma
#

I have freed myself from the responsibilities of maintaining stardew mods

supple ether
#

I dont want to maintain mods I just want to make them

cinder karma
#

Tbh I don't want to make them either

marble jewel
crystal wren
#

I'm shocked we haven't devolved into linguistics here yet.

marble jewel
#

What even is a language

#

What even is programming?

crystal wren
#

Now I want a programming themed parody of the one Haddaway song everyone knows...

cinder karma
#

Rm -rf

modest jewel
#

sudo rm -rf * SDVpufferrise

pliant snow
#

just delete the directory your currently in

#

fuck this folder in particular

supple ether
#

how do I erase the boot sector /jk

marble jewel
#

I heard if you delete system32 it makes your computer faster

supple ether
#

it's true! gets rid of all the bloat

gaunt wadi
#

This is true, but only if you install linux afterwards

cinder karma
#

No

#

Naked metal

#

We die like kings

#

Assembly

modest jewel
#

Just grab a book and write the code bt hand

cinder karma
#

Hiss to the gpio pins

supple ether
#

I use my body's electric field to rewrite the electrons on the ram die to achieve the result I want

pliant snow
fleet coyote
#

Rare aquo sighting

crystal wren
#

I know, I'm surprised to see him outside of ||[redacted]||!

fleet coyote
#

Rare DH sighting too SDVpuffersquee

lethal walrus
gaunt wadi
#

#sewers

carmine plaza
#

oh no, not the #sewers

#

i miss reading that channel

supple ether
#

what were the sewers?

carmine plaza
#

sorry for going off topic here but i can do a short explanation, iirc it was an off-topic chat mostly for images.

supple ether
#

huh, interesting

leaden marsh
regal ingot
leaden marsh
regal ingot
#

not to be confused with "Die as a King", which is even harder-core metal
https://www.youtube.com/watch?v=5WnI8dnQSlw

Official music video for "Die As A King" from metal giants @Kataklysm. The monstrous new album GOLIATH is out on August 11, 2023 via Nuclear Blast Records. Shop and listen at https://bfan.link/kataklysm-goliath.yde

Subscribe to Kataklysm: https://nblast.de/subs-kataklysm-yt
Subscribe to Nuclear Blast: https://nblast.de/subs-nb-yt

ORDER & LISTE...

▶ Play video
hardy jewel
#

people got upset that they kept being told to send their pet & game images to the sewers...

crystal turret
#

#include <deez>

misty crane
#

print("Hello world")

crystal wren
safe dragon
#

(you are cool)

native topaz
#

woah new channel?

wind vessel
#

new channel? 👀

vestal crow
#

a channel that's new?

pliant snow
#
N E W C H A N N E L
E W C H A N N E L N
W C H A N N E L N E
C H A N N E L N E W
H A N N E L N E W C
A N N E L N E W C H
N N E L N E W C H A
E L N E W C H A N N
L N E W C H A N N E
austere comet
#

This word search seems a little too easy PufferSquee

formal garden
#

assembly

safe dragon
#

interger hc_pensive

tropic anchor
jade spindle
#

Im looking to learn a programming language, whats an easy one?

silent sky
#

it's very beginner friendly

#

depends what you want to do, though!

crystal wren
#

That right there is one of the most divisive questions you can ask any programmer! SDVkrobusgiggle

jade spindle
#

oh, thank you!

silent sky
jade spindle
#

Thats something i wanna do at some point too, is that a relatively easy language?

silent sky
#

uhh

crystal wren
#

Python and Javscript are two of the most common starting languages, but personally I don't really like suggesting them to beginners.

Purely because I feel starting with something that isn't strict on typing (you won't understand what this means right now, and that's fine) leads to... thinking of things in a less structured way, almost?

#

It's also certainly more difficult to go from something like Python to C# than the other way around.

jade spindle
#

i see

silent sky
#

i would personally recommend C# purely because of how useful it is and how easy it was (imo) to learn

jade spindle
#

hmm... C# it is, then.

earnest cairn
#

C# or Java is the best imho

jade spindle
#

Now i just gotta figure out how to get myself motivated and start watching a bunch of videos on it

silent sky
earnest cairn
#

make sure you use a course that makes you do exercises

silent sky
#

this was... what, 3 years ago O.o

crystal wren
#

What might help with motivation is the realisation that you'll be able to apply the C# to Stardew modding!

silent sky
#

i wouldn't recommend videos personally

jade spindle
#

really? what would you reccomend?

#

other than codecademy

silent sky
#

and the best way to learn is through exploration and trying stuff yourself - make a simple mod !

crystal wren
#

Free video courses on YouTube and the likes generally don't have exercises to do or anything along those lines. And actually using the stuff you learn immediately is normally one of the most effective ways to learn.

jade spindle
#

hmm... ok, ill try that!

silent sky
#

my first mod was 'Yet Another Sprint Mod' and it was crap, but it helped me learn C# and apply it

jade spindle
#

huh. nice!

crystal wren
#

And since then, Harv's now technically making money doing mod commissions with it.

jade spindle
#

Really? Im just interested in it as a hobby and for making my perfect version of stardew.

crystal wren
#

Aha, well if you're interested in modding Stardew, C# is 100% the choice.

jade spindle
#

Nice!

crystal wren
#

I don't really have any learning resources to recommend myself, unfortunately. All of my programming learning has been self-taught poking at things over the last... geez, 20 years or so?

jade spindle
#

i know a few programmer friends, should i ask them about it?

#

I figure itll be the easiest way to learn

crystal wren
#

Definitely get more opinions! But keeping in mind no language but C# will let you get deep into Stardew modding.

jade spindle
#

K! thanks!

safe dragon
#

damn I missed the classic question to start an argument between developers

#

my first programming language was C# cause it's what my university primarily uses in its courses

#

I made like a little xna catapult simulation for physics class in my last year of high school using XNA so that was my introduction

#

then uni was mostly C# as well with some Haskell, Prolog and a tiny bit of python

crystal wren
#

All thanks to Unity!

#

Is Cobalt Core a Unity game?

thin estuary
#

MonoGame/FNA games are a thing too

#

And Godot

#

CC is MonoGame

crystal wren
#

Godot is... much less likely to use C# at least, but it exists.

thin estuary
#

Can’t forget Terraria

safe dragon
#

lots of games from back in the XNA days

#

it was definitely one of the easiest game dev tools to learn at the time

#

I don't look into modding much but I feel like the most popular language for writing mods is lua

lethal walrus
#

I should try run the 1.6 alpha on my switch

crystal wren
#

I still sorely hope the Switch port gets the modding changes.

#

Imagine Switch modding of the game then.

lethal walrus
#

I doubt it wouldn't (clarification: I'm sure it probably will)

safe dragon
#

wouldn't you need a devkit to run a game on a switch

lethal walrus
#

✨ linux ✨

#

it's a modded switch anyway, so technically if I had the port I wouldn't need a devkit

safe dragon
#

is anything ever complete without a rust binding for it

thin estuary
#

(Also please send help, I played like 30 hours of it in the past week)

safe dragon
thin estuary
#

I’ve only heard about it because my hipster high school friend did some things in that engine back in the day

#

(That was 10-12 years ago)

safe dragon
#

seems like one of the smaller more straightforward frameworks much like xna was

#

seems neat

crystal wren
#

I would... well, love it if I enjoyed Lua!

safe dragon
#

I much prefer these over the giant ones like unity where learning the engine is half of the battle. Just let me dive into the code and give me a basic way to get started

pliant snow
safe dragon
#

do you like that one

pliant snow
#

Its a fun engine. Im shocked they got it running on consoles tho

safe dragon
#

I've only ever seen you talk about pico8 and I guess godot

pliant snow
#

Its like pico8s big brother

safe dragon
#

nice

#

pico64

#

if I actually had any motivation to make a game idk what I'd actually genuinely pick

#

uh as a fan of Bevy I'd say I like them

pliant snow
#

actually pico64 is coming out in like a week, its hype

safe dragon
#

not to brag but I am a contributor to bevy (I wrote some docs)

pliant snow
#

we'll add a bevy contributor role

safe dragon
#

thansk I did basically nothing and it will probably be deleted when the UI code redesign happens

#

lmao

#

look it me

#

ECS makes more sense to my brain so I like it

#

yeah I mean it excels if you have a lot of entities to handle

#

dreaded shaders

pliant snow
#

does it matter which engine i use if i never finish any project anyway

safe dragon
#

yes

#

pick the one you have the most fun in instead of what makes sense

#

nice

#

I'm the type to find some interesting project, read about it to the tiniest detail for a few weeks and then forget it exists and never look at it again

#

I never actually end up commiting to anything

#

I like learning about tech things but rarely have anything I'd actually want to do with them

#

like bevy

#

it keeps me busy

#

my actual job is in... idk tbh

#

it's mostly web dev from websites themselves to backend servers... but then also random other applications

#

a lot of database work

#

fullstack I guess

#

deep in the dotnet/C# ecosystems

#

for backend, aka ASP.NET Core is very good and I do enjoy that quite a bit. Front end... WebForms is a big no thank you, Blazor is pretty good but it suffers from trying to allow both serverside and client side applications, being worse at both as an end result

#

not much to say about the database, it do be a database and SQL is good at what it's intended for

#

Entity Framework for database interaction is quite good though it has its performance issues sometimes or suddenly changes its behavior after an update of the package

frigid cove
#

Ooo this channel is new

#

Great idea for whoever came up with it

safe dragon
#

the nerd channel

frigid cove
#

Being a nerd is underrated

crystal wren
#

And I'm not shocked this channel has apparently become an instant hit!

dark veldt
#

(10/10 great idea)

frigid cove
#

Might as well ask a question. For you devs with online aliases, do you keep just one GitHub account? I was reading the TOS for github and it says one personal account for a person so I'm thinking I have no other option. I tend to think about security a lot but I might be overthinking

#

Lol, at the end of the day it probably isn't enforced much

lethal walrus
frigid cove
#

They also consider some other kind of account I forget what the TOS called it

#

I think a machine account (one not ran by an individual)

lethal walrus
#

ah interesting

frigid cove
#

I'm probably just overthinking this. But ideally I would want one account for my Stardew mods and other projects under my online alias on discord

lethal walrus
#

you could make an organisation

#

if you just want them to be seperated but not different aliases

frigid cove
#

^I heard about that. I'll look into it I don't know much about it

lethal walrus
frigid cove
#

Thank you appreciate it

#

That might be a good option. Honestly I might just use my account with my real name linked to it since I would want people IRL to see my online contributions

lethal walrus
#

you might not want people online to know your IRL name though

frigid cove
#

Yeah thats exactly what I was thinking

#

An idea I had was having my IRL account and then linking my online alias account in that profile

pliant snow
frigid cove
pliant snow
#

I highly doubt they'd care, but you could also use gitlab or something else

frigid cove
#

Oh true haven't thought of that

crystal wren
#

Yeah, you can set things like that globally, which you want to be careful about. I just decided to stop caring and have my name on my modding repo.

pliant snow
#

I think you can set your git name/email on a per repository basis?

lethal walrus
#

you can

crystal wren
#

Can even set signing keys and such on a per repo basis.

frigid cove
#

Huh interesting

safe dragon
#

don't think my name is anywhere to be found on my github account

frigid cove
#

Got you

#

It's just rough cause I'm a computer science student as well. So plenty of work that I want my real name to be attached to

#

But if I want to link source code in a nexus mod description as an example

#

Then it links to my profile with my identity and all

#

I'll figure it out but thank you all for the ideas

pliant snow
#

Mine is on my github account. I've debated removing it, but eh

#

I'm more concerned about someone spamming my email attached to the commits lol

#

There are some non-github repositories I occasionally push to, idk if its worth the effort to do non-global configs really

frigid cove
#

I noticed for a sec lol

#

Im like WAIT NO

#

But yes I got your point

sand frost
#

I believed I've hidden my email address on github using their features to do that, and so far I haven't gotten any spam

lethal walrus
#

i'm fairly sure my real emails is on some commits, but I changed it to the hidden one at some point, don't think I got any spam on it

crystal wren
#

Huh, I'm actually not seeing my email address on any commit messages.

lethal walrus
#

not sure at what point I think I set it to be hidden, since the real email's on some commits

#

ok actually changed now

crystal wren
#

The most satisfying thing to get set up is the ol' vigilant mode + verified badge, though.

lethal walrus
#

the what?

crystal wren
lethal walrus
#

oo fancy

crystal wren
#

When I have the time, I am getting Stardew mods building directly on GitHub as well. Just that extra layer of fanciness and being able to verify what you've downloaded was built from what you can see.

#

And eventually uploading to Nexus via the build process... when they get an upload API.

zinc charm
crystal wren
#

opmu...

zinc charm
#

but it doesn't build, I just push release zips

crystal wren
#

Oh, that's another thing of yours!

zinc charm
#

yeah I have to trust some sketchy unofficial api with nexus creds

#

I didn't make the opmu thing, I just forked it

modest jewel
#

Trying to do anything network-related in python makes netcode look easy....

#

I was so used to just grabbing field.Value...What's this about requests being rejected

#

Makes me appreciate SMAPI (and Stardew) for how easy it makes things, though.

tribal tinsel
#

i cannot believe aquo and crumbs are talking here

safe dragon
#

just cause you're hiding it in the game modding category can't stop me

#

i see the words off topic I'm there

tribal tinsel
safe dragon
#

now I'm curious what this netcode looks like

#

having written some networking logic in C# with TcpClient/TcpListener they're anything but simple the moment you actually need it to be reliable/robust TakoTired

fleet oriole
#

I just found this channel! This looks like it will be helpful!

modest jewel
#

I wanted to make a simple app that returns search results (to get used to python), but- request rejected, something about stale in XPATH...

zinc charm
#

Now that the other channels are "making- mods-*" i find this channel name bothersome

lethal walrus
#

#making-modders-distracted

frosty echo
#

#making-mods-programming-off-topic could maybe be a bit too long SDVkrobusgiggle

dark veldt
zinc charm
#

Different naming format, nothing serious

dark veldt
#

Ah, I see. Well, the idea was that this channel wasn't intended to be about making mods, but rather a place where people could have random coding & programming conversations.

It made the most sense, server wise, to put it in the "modding" category, since that's where the majority of the coders frequent (with a few exceptions)

lethal walrus
frosty echo
#

Seems like the ideal use for thread to me, but oh well

dark veldt
#

Thread visibility was why we opted for a channel instead

crystal wren
#

#making-mods-nerds-section

zinc charm
#

Well i can't come up with a better name

dark veldt
#

#sebs-basement

lethal walrus
#

#making-mods-not-sdv-tho

lethal walrus
dark veldt
#

I know. I love it

lethal walrus
#

it makes sense and fits with the stardew channel theme

dark veldt
#

But we opted for clarity first 🙂

lethal walrus
#

does that mean we can play role-playing games here though

dark veldt
#

ummm prolly not?

pliant snow
dark veldt
#

#creative is not for discussion. Posting of art only.

lethal walrus
zinc charm
#

Wait, what is art-gallery then?

lethal walrus
dark veldt
#

art-gallery is for featured SDV-themed art that gets posted in creative

cinder karma
#

Have we managed a linguistics digression yet?

dark veldt
#

...and we're getting off-topic SBVLmaoDog

crystal wren
#

Programming languages are a type of language.

dark veldt
#

Atra! I concede the floor to you

cyan shadow
#

Atraaaa
Any rust shenanigans

zinc charm
#

Talking about naming things is very on topic for programming

crystal wren
#

Atra's Rust shenanigans were completed with #lost-rustaceans going in the subject. SDVkrobusgiggle

lethal walrus
#

what's people here's opinion on go?

zinc charm
#

Go is okay sometimes

cyan shadow
#

... My keyboard suggested shamanism instead of shenanigans, which supports my non programmer theory that y'all do witchcraft when working with harmony

sand frost
#

generic question: can I define multiple classes in the same C# file?

#

followup: should I?

zinc charm
#

Yeah

#

Maybe

thin estuary
#
  1. yes you can
  2. it depends
sand frost
#

Does the filename have any effect here?

thin estuary
#

nope

sand frost
#

Interesting

zinc charm
#

I don't think I've ever had a reason to put two classes side-by-side in a file, but having inner classes can be useful

thin estuary
#

if you expect people to browse through your code on Github, having 1 file per class, named accordingly, is preferred generally

sand frost
#

I'm trying to make ~15 essentially useless subclasses

#

I should probably ask more detailed questions (ie actually stardew relevant ones) in #making-mods-general I guess??

dreamy vigil
#

Re whether you should: technically it depends, but usually it's bad practice. It's better to have a namespace instead if you have a bunch of related classes.

sand frost
#

basically my subclasses are entirely empty, they just need to exist

dreamy vigil
#

Yeah, I'd just have a nested namespace for those.

crystal wren
#

I like to pretend my C# is Java-level strict on this subject.

sand frost
#

DH, I've forgotten most of my java lol

#

All that's left is sheer instinct

thin estuary
#

the Java point was brought up, because the answer to 1. in that language is "no, you can't"

#

and "the files HAVE to be named the same as the classes"

sand frost
#

Interesting

#

Is a nested namespace Pathos' fancy word for a folder?

#

Also what the heck is a partial class?

thin estuary
#

making a class partial means you can have multiple files adding something to the class

sand frost
#

okay that sounds a little haunted and not at all anything I need

thin estuary
#

the main use case is for source generators

#

i've also found a nice use case for these in Season Affixes. my config class is partial. each affix is defined in a single file (possibly with multiple types). and then each of these files also has a partial class ModConfig and defines its own configurable properties

lethal walrus
#

ooh that's fancy

dreamy vigil
sand frost
#

I'm not sure I understand entirely, but I think I understand like 60% and that's probably good enough for now

safe dragon
#

I never really have classes in the same file but we have a whole bunch of records we use for message passing in one of our applications and those records are all defined as one liners in their relevant files

earnest cairn
#

someone here using VS with intellij keybindings?

sand frost
#

I think what you're describing would be more necessary if I wasn't writing an extremely small mod

safe dragon
crystal wren
#

For what you're doing, I don't think it's really going to make a functional difference to maintaining the mod to just have them all in the one file.

#

They're essentially going to be tiny classes with some fields and that's it, right?

safe dragon
#

sometimes partial classes are used so you can extend them with more functionality in a way that inheriting wouldn't

#

they're handy I like em

earnest cairn
#

the entire mod is a single partial class split over 30 files