#programmers-off-topic

1 messages · Page 35 of 1

worn remnant
#

eclipse was so awful 20 years ago that it poisoned me against IDEs forever

sand frost
#

(this is the off-topic channel)

unique oar
#

I thought anything other than direct programming was to post it here. Thanks for letting me know!

rotund violet
#

To take Rust as the most recent example: first, they made CLion they editor of choice for it, and put their weight behind a community open-source plugin. Then, they deprecated the plugin and strongarmed users into switching over to their own closed-source plugin. Then they decided users who'd paid for CLion already should switch to a new IDE named RustRover without any license transferability, credit, etc., and that IDE was half broken at the time of release. Then, they decided CLion users would have to pay for their Rust plugin, and priced it almost the same as CLion itself.

#

Whether it was planned that way or just a series of chaotic and contradictory decisions, it ended up being a classic bait and switch.

#

Like a lot of tech companies, my impression is that they have some pretty smart cookies in the tech departments and some giant assholes (or just straight-up incompetents) on the executive and bean-counting teams. But even in tech, I don't see them really innovating much, their tool set is kind of the same as it was 10 years ago, with a few new bells and whistles and far too much invested in AI crap.

cinder karma
#

Me, dumb: figure captions should stay near their figures

#

Microsoft, smart: oh, do you want the caption to randomly jump everywhere? No? What about the image?

safe dragon
#

tbh even latex loves doing this

#

you don't pay attention and an image flew off to 3 pages later

sand frost
#

htbp

#

it's the key

pliant snow
#

Sittin at work, minding my own business

sand frost
#

latex also never separates captions from images

pliant snow
#

When suddenly my linux box behind me starts spinning up its fans

safe dragon
sand frost
#

Latex is sometimes annoying about figures, microsoft is always horrid

pliant snow
#

Its using 100% of ram and 100% of swap doing nothing

sand frost
#

oh no

#

that's too much

sand frost
#

I don't know a lot of linux

pliant snow
#

htop says bothing

sand frost
#

but I am pretty sure that's not good

pliant snow
#

I suspect IT nonsense

#

I ended up just rebooting it, donno what was up

safe dragon
#

exciting stuff

#

I won't watch but I will admire the headline

supple ether
#

Lol

cinder karma
#

Latex would never separate figure from captions

safe dragon
#

it's too sensible for that

ivory shadow
#

LLMs can make good devs more productive at being good.

LLMs will make mediocre devs more productive at being mediocre.

cinder karma
#

And LLMs will let me continue being a dumb b****?

pliant snow
#

no you'll be obsolete in the world order and turned into fuel

safe dragon
#

I've always wanted to be obsolete

worn remnant
#

we used to dream of living in a corridor being made obsolete

supple ether
#

I wouldn't mind being made obsolete assuming a) I actually was made obsolete and not just replaced with something cheaper and shittier, and b) I'd be able to enjoy the benefits afforded by the fact that there's less overall work to be done

#

But of course neither of those things are likely to be true any time soon

rotund violet
#

Ironically (or not), all the bureaucratic, middle-management and other pointless jobs that could easily be replaced by GPT without anyone noticing the difference are precisely the ones that never would be in a million years.

cinder karma
#

C++ is getting a borrow checker????

devout vault
#

Wat

cinder karma
devout vault
#

I don’t want to watch a video

#

I’ll google it tomorrow I guess

fleet wren
#

once again the crab people demonstrates their superiority

cinder karma
#

Ngl I would give a lot to have a normal boring programming language again

fleet wren
#

Have you heard of Zig

#

It's kinda sorta "C but sane"

cinder karma
#

Look, Selph, even c++ feels sane now

#

We are out in bespoke assembly land

#

Ngl I haven't gotten rustilog out of my head haha

rotund violet
#

How can C++ get a borrow checker when it doesn't have borrows?

#

I mean, some of the smart pointers are maybe a little like borrows, but... nah, I smell clickbait.

fleet wren
#

The video is just the author reacting to this proposal: https://safecpp.org/draft.html
So C++ "will" (?) get borrows and borrow checking from basically porting Rust features over to a language extension designed to be a superset of C++

rotund violet
#

Competition's good. Maybe if (emphasis on if) that actually happens, the C++ guys will come up with some innovation that'll inspire the Rust guys to actually finish the new borrow checker before we all die of old age.

hollow marsh
safe dragon
#

this is a fun issue to find. Was running benchmarks to figure out why something was extremely slow only to find out we were retrieving every single record from 3 tables joined together at once

#

with a caching layer that just caches the entire table?

#

it just has a singular cache key that contains the entire table

#

which it then retrieves, runs filters on and then returns

#

from the git history I can see how it morphed into this but damn it's bad

pliant snow
#

why read from the database when you can just read from the database

crystal wren
#

Why read just one thing when can read all thing?

safe dragon
#

u rite

#

unfortunately it does take over 4 seconds even on our test database

#

when it doesn't come from the cache anyway

safe dragon
#

well an initial go at it changing the code as little as possible brought it from several seconds to 80 ms

#

it's still a pretty messed up query but it's now weekend so I will pretend it does not exist for the next few days

rotund violet
#

Has anyone worked with a really good markdown doc generator for .NET? I've tried 3 that produced horrendously ugly or disorganized results (XmlDocMarkdown, XmlDoc2Markdown which is not related, and a fork of one of those that tried to fix some serious bugs but decided to make the structure totally flat for some reason), and one that is producing fairly nice results for me called ModularDoc but is just absolutely full of bugs that it's going to take me days to fix partly because major parts are written in F# for some reason.

#

I guess mkdocstrings doesn't support .NET, or many other languages for that matter.

safe dragon
#

it does support visual basic for applications however

#

is that not your ideal programming language

rotund violet
#

Yes, if this were 2002, I'd be beside myself with joy.

safe dragon
#

excellent. it's 2002 then

cinder karma
#

Let's partttty like it's 2002!

#

receives juice box and one hour later bedtime

safe dragon
#

wooooo

#

I couldn't even read in 2002!

#

the good old days

rotund violet
cinder karma
#

Hey I would love juice box still

safe dragon
#

I wouldn't complain either

cinder karma
#

murderous rage as I try to find a setting on a software

#

It would be better if it didn't repeatedly lock me out for 10s at a time

safe dragon
#

imagine the pain of using the software we make at work where the only way to find a setting is to know its name in a table of over 3000 other settings all restricted to at most 15 characters for the name

#

sometimes we run into settings no one knew existed it's very exciting

rotund violet
#

This is still from the old job you quit, not the new one, right?

safe dragon
#

oh yes. I don't start at the new job till the 1st of november

#

I do not know yet what horrors await me there

#

I still have 4 more workdays at this place

#

I expect to see plenty legacy bullshit but not the settings hell

pliant snow
#

I found this absolutely fascinating

safe dragon
#

it's very cool

#

dude doesn't have good posture but his library is cool

gaunt wagon
gaunt wadi
#

Grant showing off super cool rendering library, other guy asking him what generic python builtins like "*" and "zip" do

safe dragon
#

tbh * is a very strange one I haven't seen before

#

at least not with a dedicated symbol for it

cinder karma
#

Splat!

#

Crumble, guess who has that now too

#

[..list]

safe dragon
#

that doesn't work for tuples though does it

#

that's the spread syntax

gaunt wadi
#

The library is really cool

#

I really like the functions that exist purely for usability/based on knowing exactly what you want out of the work flow

#

E.g. foo.match_color(bar)

#

I'm sure you could do foo.set(color=bar.color) but he does that all the time and so has a helper for it

#

And there's a bunch more of them

rain apex
#

U can splat anything u can iterate

gaunt wadi
#

Stuff like "fix this text to look right in the frame" or "set all these colors to blue"

#

Dang Grant is really good at math and programming

gaunt wadi
safe dragon
#

yeah though I think from his perspective he was mostly just sitting down with a friend as he shows off his library

#

didn't bother me at least

#

I like how simple this library seems to be for something that for some reason tends to be pretty complicated

#

just fully specialized for his personal usecase

pliant snow
#

My main takeway is that I should use zip more lol, I would've just used a for loop and an index

safe dragon
#

I used zip a lot in elixir for AoC

#

but in elixir lists are linked lists so indexing isn't even O(1)

cinder karma
#

I love zip and enumer

silent sky
#

i worked on a little data driven project for my computer science coursework, it’s just a little stock / sales / customer tracking software (kinda like Sage 50), and it’s not perfect but it has some cool little features.
i was wondering what would be the right place to list it for a “pay what you want” kind of thing. like it’s not worth paying much for so i’m just offering it out for free but if people want to give me a couple quid for it then they can. where would i do that? i was thinking itch.io but is that just for games?

rotund violet
#

Itch is definitely just for games. Question is - since this sounds like something directed more or less at smaller businesses - even if such hosting existed, would anyone in the SMB sector know how to find it?

If it's not a large download then you could easily host on GitHub/GitLab, sourceforge, etc; write up a few nice promo/explainer pages and host them on GitHub Pages, stick a prominent donate button on it. You might get a little bit of free SEO that way since those sites are at least indexed. Otherwise, go self-hosted, there's lots of free/cheap web hosting and there are a lot of great static site generators these days that together turn the whole exercise into maybe a day or two of work.

#

I can see the appeal of the Itch style of nagging prior to download, and if you really wanted to you could put up your own version of that too, but I'd guess that works a lot better for something like game assets (where the downloader has a pretty good idea what he wants, and has looked at your previews) vs. software that you really have to try out before you know if it's worth your time.

cinder karma
#

the idea of accounting software on itch.io amuses me

rotund violet
#

If you named it "Accounting Simulator 2025"...

cinder karma
#

tbh I would suspect most small companies use, like, actual excel for stock tracking

#

unless they have a pos, in which case they use that

silent sky
#

a github pages with a big donate button sounds like the way to go to me 🤣 thanks for the advice !

rain apex
#

there's a sponsor button in github

#

never tried using it myself though, dunno how it work

rotund violet
safe dragon
#

I have finished the very last item I will ever do at this company rise

pliant snow
#

Squashing all commits into one, force push

rotund violet
rain apex
#

do you think Type.GetType is worth caching

thin estuary
#

caching no, but only calling once during one outer method call? probably

rain apex
#

the use case is that i am get some arbitrary type to use with Activator.CreateInstance

#

its not happen every tick though

#

but probably more than once

safe dragon
#

ultimately it's probably worth throwing some benchmarks at if you can. It's very possible that that is a completely neglible part of the code

thin estuary
#

Activator.CreateInstance is much more of a bottleneck here than GetType lol

rain apex
#

i guess it'd be nice to find out sleep

#

well i dont think i can avoid that, since i am in need of new instances

thin estuary
#

Activator.CreateInstance is basically the same as getting a ctor and invoking it

#

and if that ever becomes too slow for your needs, you can emit some IL for it instead

rain apex
#

DokkanStare fun

#

i am also cache instances with same args so i should be fine there

#

back in Python i had thing to traverse for all subclass of a type to put in a dict for later

#

not sure if i can do that in C#

safe dragon
#

I mean I don't see why it wouldn't be possible

rain apex
#

so just back to performance of dict key get vs gettype then

safe dragon
#

can't say I've ever benchmarked gettype

#

my assumption was always that that was practically instant

rain apex
#

i kind of feel like gettype would be better yea

#

given statically typed lang and all

safe dragon
#

what exactly would the dictionary look up anyway

#

what is the key

rain apex
#

AssemblyQualifiedName

#

i do also have a shortform version

#

like Special for getting MyNamespace.Stuff.{0}Thing, MyThings

safe dragon
#

running a quick bad benchmark cause I'm curious

#

"quick"

#

I think my benchmark is scuffed

#

frozendictionary definitely doesn't return results within 2 nanoseconds right

rotund violet
#

It surprised me because Activator.CreateInstance has been "documented" unofficially in a few places to be faster than GetConstructor et al, but best-case scenario (parameterless) it's about the same, and every single parameter you add makes it massively slower.

#

IL-emit/expression tree is of course many times faster once it's compiled but there's a substantial setup time that you might not want to incur on the main thread.

thin estuary
#

wtf

safe dragon
rotund violet
#

Is this Type.GetType(string) or Object.GetType()?

safe dragon
#

Type.GetType(string)

rotund violet
#

Yeah, that's probably going to be slow, I think it pretty much has to search the whole appdomain?

#

But an assembly-qualified name could (maybe, not tested/proven) be faster in a large appdomain.

safe dragon
#

the frozen dictionary is just a string to Type of the assembly qualified name so in some niche scenarios maybe this is worth doing

thin estuary
#

oh, we're literally talking Type.GetType, not object.GetType

safe dragon
#

yeah

rotund violet
#

If this is for a mod then FrozenDictionary definitely is not available yet.

safe dragon
#

ah yeah fair I'm just benchmarking idk what chu/e is doing but I assume a mode

#

I'm not used to limiting myself to .NET 6

#

object.GetType seems to be around like 1 nanosecond

#

nothing I have ever done has cared about nanoseconds

rotund violet
#

Anyway, typeof(T) and object.GetType() are about the same, I think, but Type.GetType(string) is slower in general, and I think extremely slower if not assembly-qualified.

#

As with all caching, though, it depends how often you have to do it.

safe dragon
#

there does seem to be a difference but I think that's because typeof can essentially just precompile the result?

rotund violet
#

It's possible. Have to look at decompile. But, like you said, what kind of code cares about a nanosecond anyway, unless you're doing it a billion times per frame.

safe dragon
#

idk how performance constrained any of this is to care about anything at this scale

#

even 1.4 microseconds for Type.GetType(string) would be completely negligible in most scenarios

rotund violet
#

A little bit of reflection will often go unnoticed, but it has a way of creeping up over time and causing noticeable slowdowns.

#

1.5 microseconds means you can do it about 10,000 times before you cause a jank frame. Sounds like a lot, sure, but is it being done in a loop? Perhaps an O(N^2) loop?

safe dragon
#

yeah I mean just depends on how much of a hot path it is in and what kind of code it is surrounded by

#

I recently did avoid optimizing something I thought was slow by first actually running benchmarks

#

likely saved me a good amount of time fuckin with something that was working just fine

#

fussing about microseconds only to then later realize something else was using seconds

rotund violet
#

I've run a lot of small-scale perf tests lately and there are definitely hot paths in reflection. MakeGenericType and MakeGenericMethod are nasty, for example.

#

I can't remember the last time I wrote code that took multiple seconds to run, though. I'm almost always working at the frame level, where a few milliseconds is too much.

safe dragon
rotund violet
#

Oh, databases. Yeah.

safe dragon
#

ultimately I got it down to 50ms at which point most of it just seemed to be latency. Cut the network traffic as much as I could already

#

I work in a very different scale than you lmao

rotund violet
#

It's like a literal past life for me at this point. Relational databases haven't really changed all that much since then, but these days I never touch anything that can't fit in RAM.

safe dragon
#

a lot fits in ram nowadays...

rotund violet
#

Exactly.

#

Back then, you had 50 GB of data and it had to be in a database somewhere. These days, just cough up $150 for another RAM stick.

safe dragon
#

honestly the most impactful change will ironically probably be the cached flow which I brought from 2 to 4 ms to 0.1 ms

#

not the 2 seconds to 50 ms

#

because almost all calls will hit the cache

safe dragon
#

this performance optimizaiton will be the last thing I will ever do at this company

#

🙏

rotund violet
#

I thought you already finished the last thing you were ever going to do.

#

Last time I "moved on to other opportunities" I had completely checked out by the final day.

safe dragon
#

I have 3 more days left but that's mostly just writing some documentation and handing in my shit

rotund violet
#

Oh, well, first it was "have finished the last" and then it was "will be the last", sounded like you were regressing.

safe dragon
#

yeah I mean it depends how you look at it. It hasn't been tested yet so it's not guaranteed to be done done

rotund violet
#

SEP

safe dragon
#

on wednesday there's some big meeting about the project I lost all faith in ever going live

#

I will not be in it

rotund violet
#

They might be meeting to kill it.

grave nacelle
safe dragon
#

quantum compression

#

Our technology includes a multi-layered encryption protocol to ensure that all data transfers and enhancements are completely secure.

#

at least they didn't say "military grade encryption"

rotund violet
#

My favorite is actually in the fine print.

We sell your data in real time

Indeed.

grave nacelle
#

I suggest you click the download button, you'll get something you don't expect lol

safe dragon
#

it's exactly what I would expect

grave nacelle
#

Oh

rotund violet
#

Yeah, the rickroll was meh. I really did like the real-time comment though, it's clever, just subtle enough that you might actually miss it completely if you're not reading carefully. I could totally see that in a real EULA/Privacy doc.

rain apex
#

it gets called whenever the player equips a thing which is like, once or twice in a game session LilyDerp

supple ether
#

I was curious about reflection stuff before and found a benchmark someone did comparing typeof() to object.GetType and apparently they are comparable, which is interesting

cinder karma
#

I'm quite surprised

#

I would assume that typeof would have become you know

#

Some sort of intrinsic

rotund violet
#

It's GetTypeFromHandle which I would expect is about as fast as it can get. I think it wouldn't be possible to precompile literally everything about it because typeof(T) in a generic type could easily be referring to a T that has been either resolved at runtime (via MakeGenericType) or even generated entirely at runtime through IL emit. But the type info and handle already exists, so lookup by handle does almost no work.

#

The implementation of Object.GetType confuses me a lot more, with various native method calls and a "slow" delegate, which is used under conditions that are unclear to me, but I think most of the time it's just following a pointer that's equivalent to the handle.

warm sable
#

Hi all, I'm trying to make my first edit/patch to a mod, could someone answer a few Qs I have? The source code for health rework is available on github, it makes it so that food does not restore player health, only life elixirs do, and I want to make it compatible with other mod's health potions. and I see the exact piece of code that checks the player has an elixir of life, it then allows that elixir to restore player health. There's a function in the utilities script that looks for the item ID, the checks if the consumable the player has eaten matches it. I feel like I should just be able to add a few more if statements for item IDs from other mods, but i have no idea how to find an item's ID.

fleet wren
#

you may want to try #making-mods-general
this chatroom is for complaining about our work and/or employers

warm sable
#

Oh! Okay, sorry

safe dragon
safe dragon
#

#town-square is for complaining about school/parents, this place is for complaining about work/employers

rain apex
#

but it's also about leetcode and silly perf things

sand frost
#

and occasionally about linguistics 😛 as all discussions eventually meander to

safe dragon
#

solid selection of topics

rain apex
#

i wonder what natural language processing is like these days

#

is it all ml now

safe dragon
#

I think it has been all neural networks for nearly a decade now

#

don't think statistical models are around very much anymore

#

LLMs however...

sand frost
#

It's all ML now

#

It's been all ML for several years now

#

I'm no expert, but my dad is, and in his company he's one of the more experienced in ML people, I think

#

I'm not entirely sure what flavor of ML, I doubt it's all LLMs but I recall hearing something about transformers

safe dragon
#

I'm curious what his viewpoint would be on the attempt to make LLMs do everything under the sun

sand frost
#

He's not as cynical as I am about it 😛 but also I think he does retain a certain level of skepticism about some of the stupider applications

rain apex
#

aw i looked up the nlp course i took and they r just do python stuff now

#

when i took it our assignments were in prolog

safe dragon
#

damn you did a lot more stuff with prolog than I did then

#

I only remember that I did in fact use prolog in uni but I cannot remember what we did

#

I have some google drive folder with random .pl files

rain apex
#

i mean we only had 1 prolog assignment

#

which most of the class bombed

#

not everyone enjoy learning whole new lang in 1 month i suppose

#

the other assignments were pytorch LilyDerp

safe dragon
#

mine was part of the logic course. Some small bit at the end

#

palindrome detection, fibonacci

#

something called crossword that is definitely not a crossword solver

#

what irks me the most is that I clearly still sometimes wrote code in Dutch

#

but not consistently either

rain apex
#

What does writing code in dutch mean

#

Like naming ur variables in dutch?

safe dragon
#

yeah

#

variables and function names in Dutch

rain apex
#

Does dutch have non ascii characters

cinder karma
#

Unicode is fully valid in most programming languages

rain apex
#

In variable names?

#

Ik js let you use emojis but that's js

safe dragon
#

Dutch uses diacritics but they're only used to clarify pronunciation of words

#

for the most part Dutch can be written on a regular American keyboard layout

rain apex
fleet wren
#

1️⃣9️⃣🎱4️⃣

safe dragon
#

fr fr...

rotund violet
# rain apex which most of the class bombed

I had to learn F# in 1 hour. Although there's a difference between academic vs. practical "learning", usually in the real world we learn just barely enough to get a certain task done.

#

It's actually useful situation to be exposed to as a student because it will come up at some point in most careers - not prolog specifically, but having to rush to learn some new thing.

rain apex
#

Yeah I personally enjoyed it

#

Even if I can't imagine practical application of prolog

#

That language feels more like writing math proofs

safe dragon
#

I really wanted to like F# because I actually like functional programming but F# is just really annoying cause you keep having to use mutation anyway cause all the libraries you want to use assume C#

#

at least it has discriminated unions

crystal wren
#

Sounds like F# is more of an F♭.

rain apex
#

Til there's a different # for music

candid pilot
#

c#? more like d♭

rain apex
#

C♯

candid pilot
#

awesome

safe dragon
#

С♯ the special combo

#

a cyrillic C and the music sharp character

candid pilot
#

badass

rain apex
#

They r unrelated huh

#

# and ♯

rotund violet
cinder karma
#

Yeah

#

Downside is that you have to use inheritance

#

So it...as per usual, does not work for ref structs

rotund violet
#

As for F#, I wasn't blown away by it but that might be because of my Rust background where I get to use statements and expressions, and I'm annoyed by "everything must be an expression".

rotund violet
safe dragon
#

there is some plan for discriminated unions in C# somewhere

#

maybe we will have that too by .NET 14

cinder karma
#

Python docstrings continue to low-key piss me off

#

They are fine when I'm typing half coherent comments to my future self

#

They are not fine when I need to remember the fucking syntax to document a parameter with a type reference

rain apex
#

are u allowed to use type hints

safe dragon
#

no that is considered heretical in the field of python

rain apex
#

but they got a whole stdlib for it

safe dragon
#

a mystery truly

rotund violet
#

It's not that much of a contradiction, actually. For example, .NET has a DLR but we mostly don't discuss it.

#

Most large languages/frameworks have these little warts that seemed cool or useful at the time but eventually became heretical.

safe dragon
cinder karma
rotund violet
#

Anyone remember Swing?

cinder karma
#

(In another no but it's okay there because the scripts are small and self contained so.)

safe dragon
#

no. From the looks of it that fell out of favor before I knew how to multiply numbers

safe dragon
rain apex
#

Is swing the java server side rendering thing

cinder karma
#

I have no clie what swing is

rotund violet
#

I barely even remember it myself, except as "some Java UI thing that used to be huge but no one has dare touched for over a decade".

safe dragon
#

seems to be a gui framework not web

#

it was apparently replaced with JavaFX

#

which I do know

#

know of its existence that is

rotund violet
#

Rust will have its heresies too, someday. I know not what they will be, but they will be.

rain apex
#

I used swing 4 work before

safe dragon
#

gotta have some heresy to spice things up

rain apex
#

I don't remember it being particularly wacky

#

But I was probably distracted by that job using SVN and doing release notes in a word doc

#

Among other ci/cd crimes

safe dragon
#

why word

#

not like, markdown or something

rotund violet
#

A company using SVN that has heard of Markdown? Either this was long ago, before Markdown even existed, or... SVN.

rain apex
#

it wasnt that long ago since i am baby kyuuchan_run

rotund violet
#

Haha... maybe if they had something to replace it.

safe dragon
#

green threads

#

I feel like those would be heretical instead

rotund violet
#

Are those an actual thing? Never heard of 'em.

fleet wren
#

Green threads were a thing in early Rust, before getting removed

safe dragon
#

they're basically at the core of golang's concurrrency model

#

yeah they were

#

C#, much like rust, relies on system threads directly

#

ruby apparently had green threads till 1.9 and were then removed in favor of system threads

pliant snow
#

do they come in other colors

safe dragon
#

good question

pliant snow
#

ty

safe dragon
#

apparently the original creators of green threads (sun microsystems) abandoned them shortly after

#

lmao

#

I'm afraid it doesn't seem to come in other colors

pliant snow
#

Sun Microsystems seemed to have just invented everything for a brief period, then fell apart

safe dragon
#

their specialty

pliant snow
#

isnt solaris technically still around

safe dragon
#

yes

fleet wren
#

if green threads is using one system thread for multiple software threads, does that make red threads multiple system threads for one software thread

#

nvm that's just scheduling

rotund violet
#

Sounds similar to fibers.

#

I didn't realize golang had its own custom thread model either, thought it just made them available exclusively through coroutines which were a big deal 10-15 years ago and are now prevalent in all modern languages.

safe dragon
#

it has always been their excuse for not needing async

#

very light quick to create green threads through goroutines

rotund violet
#

Yes, goroutines has always been the go-to term, hadn't heard it referred to as green threads before.

#

Coroutines (or "goroutines") basically are async, though. They do the same thing as async in C#, Kotlin, etc. Or so I thought.

safe dragon
#

it's too low level really for me to know exactly what the differences are

#

I know C# experimented with green threads instead as an alternatives for async, then dropped that last year and then announced the async2 experiment

rotund violet
#

Was just reading that blog post, yes.

#

Seems the main thing there was letting the CLR have control over execution instead of relying on the OS.

#

It does speak to what I was saying earlier, which is that both models are "async" regardless of who technically owns the thread. Async just means "continuation/coroutine model" as opposed to the "worker model" of threads. So, AIUI, Go does have async; it just doesn't have conventional threading primitives.

#

I want to say that Kotlin's coroutines are based on Java threads but I think they did some other unusual things with those.

gaunt wadi
#

I'm surprised current async support is entirely within the compiler

#

It def makes sense that if the runtime knows about it they can make it more efficient

sand frost
#

The new server icon is really nice SDVpufferaww the pumpkin mouth is a nice touch

safe dragon
#

damn I didn't even know this was coming but apparently chrome now supports css transitions on non numeric values for stuff like height/width

#

so transitions can work for height: auto and the likes

#

that has probably been one of my biggest annoyances in recent years

#

now to hope Firefox and safari follow suit quickly...

obsidian plover
#

it wont move the turtle before drawing the next shape D:

long verge
#

Your moving instruction is outside the loop

#

So, python will execute the loop, and then move the pen

#

What you what to do here is :

for shape in range( ... ) // First loop (Execute the code for each triangle)
  for sides in range ( ... ) // Second loop (Execute the code who draw each side of the triangle)
    ... code here ... 
  Code to move the pen // In the first loop but outside of the second one (You want to move the turtle between each triangle)
#

@obsidian plover hope this helps

obsidian plover
#

ty ❤️

long verge
#

This is what ur code should looks like

obsidian plover
#

tysm 😄 ❤️

long verge
#

Glad to help

obsidian plover
#

your amazing ive spent all day trying to sort this 😄

#

i think my text book had it wrong some how

frosty echo
#

LOGO, but Python?

safe dragon
#

when your turtle is actually a snake

rain apex
rotund violet
#

It's an SVG library, obviously.

(It's not an SVG library.)

safe dragon
#

the very manual version of vector graphics

rotund violet
#

I can implement an SVG library in under 5 minutes, as long as it only ever has to draw one shape.

pliant snow
#

a line

cinder karma
#

Hey focus I need an svg lib. I only need squares....and I guess text

#

Also it needs to interface with a CAD lib you've probably never heard of before

#

(Full disclosure: after about an hour of arguing with various svg import options I just ||redrew my diagram lol||)

safe dragon
#

the moment you also want to support text everything about simplicity goes out of the window

rotund violet
#

Text is one of those beautiful things that's so easy for us humans and so crushingly difficult for machines.

#

But maybe if you can model everything as a seven-segment display, you can simplify.

gaunt wadi
#

The opposite end of the spectrum: overflow: cause-kernel-segfault

safe dragon
#

I have run into the vaguest job benefit on a job posting

#

4 days a month of innovative time.

worn remnant
#

that's probably something like the 20% time i've heard of, where on e.g. Fridays you work on whatever pet project you want, but i've never heard it called "innovative time"

rain apex
#

it means time for you to work on the haunted chocolatier mod loader blobthumbsup

safe dragon
#

idk it's some random american company they(the recruitment company that posted it) don't even give the name of that I assume is tinder by the description

#

a highly succesful social messaging platform that launched in 2012

safe dragon
#

the job posting is so wildly different from any dutch ones

#

it has strange ass benefits like free yoga lessons

rain apex
#

I think that's strange even from NA perspective

safe dragon
#

a gym membership, free yoga lessons

#

this:

Birthday bonus package - including time off work on your birthday, dinner at a top restaurant, or a paid day trip to a European destination.

#

I don't think I have ever seen a job posting with these strange benefits

#

I mean it's nice I suppose

rain apex
#

Paid day trip to your own house AquaThumbsup

safe dragon
#

yeah paid trip to the european tourist city that I already live in

#

hell yeah

#

and only a day so it better be close

#

at most like a day trip to paris or something

#

I'd take the day off

rain apex
#

Maybe if they also give u tourism budget for the day

#

This all seems like HR nightmare though

worn remnant
rain apex
#

Are there like, third party companies who provide these benefit plans?

sand frost
#

This is not normal in North American but it fits a certain trope

rain apex
#

Can't imagine company handling it themselves

safe dragon
#

it's very unusual from a dutch perspective. Usually job descriptions just tell you the job with some nonsense around it about how close-knit and social they are

sand frost
#

It’s very tech company flavored

safe dragon
#

I don't think dutch tech companies are very tech company flavored then

sand frost
#

A lot of the tech companies in the US have a lot of money and spend it on these kinds of slightly weird perks

#

Sometimes it’s part of an effort to keep people in the office all the time

#

Ex free lunch and dinner, nap pods

#

Google is the prototypical example of this, though they have slightly pulled back on the stuff that seems designed to keep people at work all the time

#

For example, the lunch and dinner now have set hours rather the cafeteria being open most of the time

#

The 20% time thing I’ve also heard of primarily with regards to Google

#

And lots of companies want to be Google in the US tech space

safe dragon
#

the company I'll be working for soon doesn't even have a cafetaria but that's more a result of dutch lunch culture not being a thing really

sand frost
#

The free yoga lessons are actually the least weird

#

Many employer health insurance plans in the US have some discounts or benefits intended to be used on gym/fitness type things

#

I was able to get $100 every 90 days by “tracking wellness” at my last job

#

(Basically step counting and sleep tracking, plus some stupid stuff to “learn about wellness”)

#

The birthday one I would say is maybe the most weird but only for the scale of it

#

Giving the day off on your birthday seems like a slightly unusual perk but something I could see a lot of companies doing, a day trip to Europe is bonkers

safe dragon
#

I'm already in europe so that doesn't mean quite as much

worn remnant
#

the day trip to a european city might be tailored for the recruiter listing in europe

safe dragon
#

a day trip to like, antwerp would be like 100 euros

worn remnant
sand frost
#

It does seem like probably tinder but depending on how they count it could maybe be Snapchat

#

Or they could be deluding themselves about being popular

safe dragon
#

the job posting first just stood out by offering a salary way beyond any of the other others, other than like, the tax office of the government

sand frost
#

Like literally my daily commute was 80% of the effort

worn remnant
#

ok i said i would stop, but like many creaking vestiges of well-intentioned systems in the USA, it doesn't really work very well /lh

safe dragon
#

I had fun reading the job posting at least

#

unfortunately they wanted a javascript developer

#

which counteracts any benefits

crystal wren
#

That's at least a $100,000 equivalent penalty.

safe dragon
#

at least

#

and unfortunately basically all tech jobs in the netherlands pay less than that

rain apex
#

i thought u already have new job lined up

safe dragon
#

I do

rain apex
#

are recruiters just continue to email u about these things

safe dragon
#

I'm just lookin for fun

#

it's like browsing homes you can't afford

#

I ended up in some conversation about job postings and then ended up looking through job posting

#

enjoy really bad job descriptions

crystal wren
#

Something bad I saw:

safe dragon
#

forgot to mention but that american company is also the only job posting I've ever seen that had stocks as part of their benefits

worn remnant
#

paying in stock is a classic silicon valley startup thing

safe dragon
#

now by AI

#

there was one job posting which stated that your first intake meeting was with an AI assistant?

worn remnant
#

"with AI at the core of our techn-- 🤮"

safe dragon
#

I'm happy to report I saw very few jobs mention AI in their job postings

rain apex
#

one job posting i saw was for something called jerry.ai

#

i think they r some kinda car insurance platform that has ai in it

worn remnant
#

there's some fucking HR firm that advertises on the radio and proudly boasts that it's all AI in there

safe dragon
#

oh I should share my favorite sentence I saw on one of the recruitment agency's website

#

We are [Name], the young professional specialist with the best fitting job for every young professional, and best fitting young professional for every vacancy.

rain apex
#

smh age discrimination

safe dragon
#

they love their young professionals

crystal wren
#

All of our 18 year old professionals have five years of experience.

safe dragon
#

at being 13 or older

#

job postings can be quite fun when you're not actually looking for anything

#

they're anything but when you are

#

so many very vague job descriptions that give you like no idea what they actually do

#

there was one who said that one of your job functions would be "debugging code"

#

like are there software development jobs where you don't debug code

worn remnant
#

"road works ahead" energy

safe dragon
#

sidenote

#

today was my last day at my old job

#

🎉

#

no more ever again

rotund violet
#

Congratulations! Enjoy it while it lasts.

#

As for innovation time, 20% and whatnot, these are invariably systems that start out exactly as they're described, with the intent to let developers work on whatever they think will be useful to the company, but as the company gets more bureaucratized and starts facing real deadlines, that % simply gets added to the 100% of normal daily grind, and you're "allowed" to do personal projects as long as they're entirely on your own time.

#

Here's a quick off-the-cuff guide to whether that kind of "benefit" should actually be understood as a benefit or a downside:

  1. Start with 15 points
  2. If the company is publicly traded, subtract 10 points
  3. For every layer of management between your manager and the CEO, subtract 1 point
  4. Subtract 1 point for each log(number of employees) so e.g. 100 employees is -2, 100,000 employees is -5.
  5. Subtract 1 point for every "cross-functional team" (aka committee) that the position is subject to.

If you're still above 0, then it might not suck. If it's below 0, it probably will. The above numbers are of course totally unscientific, you can tune them to your liking, but you get the basic idea.

safe dragon
#

excellent

#

this crypto NFT startup sounds good to go then

pliant snow
#

I was going to say, this is a good measure for if this job will still exist in 2 years, but the other way

safe dragon
#

considering it's the only company I've ever seen with 20%/innovation time I'm probably never going to need this guide

cinder karma
#

No debug

#

Only write

rotund violet
#

Haha, I would say 15-20 years not 2 years, bureaucratized companies can run on fumes for quite a long time.

pliant snow
#

Does it count if I just assign the issues to other teams

safe dragon
#

just work in a team where no one ever causes a bug

#

no debugging

pliant snow
#

UX

rotund violet
safe dragon
#

if I see any job that pays above 6k a month it's significant outlier

#

definitely no silicon valley

rotund violet
#

And honestly, a crypto NFT startup that's offering 20% time is probably actually going to give you 20% time. It may be terrible for a lot of other reasons, but I'd bet they're not lying about that part.

safe dragon
#

unfortunately you'd have to think of something to do that would benefit an NFT company

rotund violet
#

Such as burning it down to ashes?

safe dragon
#

that'd work

rotund violet
#

Well there you go, there's your 20% project, bringing it down from the inside.

safe dragon
#

Jagex(the developers of runescape) have a yearly "game jam" thing where all the devs have I think a week to just make anything for the game and then they show off the best ones in either a video or a blog posts

#

often they're turned into real updates and it's honestly often some of the best updates we get

pliant snow
#

like other versions of runescape

rotund violet
#

Isn't that one of those deck builder things?

pliant snow
#

runescape?

rain apex
#

that sounds much better than the mob vote minecraft thing

safe dragon
#

.img oldschool runescape

safe dragon
#

definitely not a deckbuilder

rain apex
#

wow

safe dragon
#

that's the mobile version

pliant snow
#

the hottest game of 2006

rain apex
#

this looks illegal

safe dragon
#

2007

rotund violet
#

Campy.

rain apex
#

why is runescape on a phone

pliant snow
#

im still not sure when it became not in a browser

safe dragon
#

that's elvarg, one of the most iconic fights in the game cause it's been in the game for over 20 years

gaunt wadi
#

Why's that guy beating up that dragon

#

Rude

safe dragon
#

it's part of the dragon slayer quest

gaunt wadi
#

Wow talk about genocide

rain apex
#

did elvarg forget to pay taxes

cinder karma
#

I have no idea why windows doesn't default to word not making your documents follow dark mode

safe dragon
#

elvarg mostly just killed sailors

cinder karma
#

It's markup. I want to see what everyone else sees

gaunt wadi
rain apex
safe dragon
rain apex
#

older than oldschool

gaunt wadi
#

Wtf they made him worse

safe dragon
#

wonder what she looks like in rs3

gaunt wadi
#

Is there dog in runescape

rain apex
#
RuneScape Wiki

Elvarg is a female green dragon and is considerably stronger than most others of her kind. Even though lesser and greater demons have a higher combat level, Elvarg is far more difficult to defeat. Elvarg lives on the island of Crandor and is found underground, in a cave that is connected to Karamja through a series of tunnels.
During the quest D...

#

lame

safe dragon
rotund violet
#

I can't get over the tail... it's like a folded piece of construction paper.

safe dragon
#

in rs3 you can even have a pet dog

gaunt wadi
#

Oh yeah??? Post every single one

crystal wren
#

Can you pet them, though?

safe dragon
#

many of them yes

crystal wren
#

Not ALL of them?

#

0/10.

safe dragon
#

at last year's league event one of the tasks was to pet the dog at the archeology camp

safe dragon
gaunt wadi
#

I'm not seeing any runescape dog

rain apex
#

you can pet them with a sword

safe dragon
gaunt wadi
#

omg doggy hi!!!!

safe dragon
#

I always make sure to pet this one when I'm passing by

rain apex
#

wow it took until 2021 to add dog petting

gaunt wadi
#

🙏

safe dragon
#

the best update they've ever done

gaunt wadi
#

I pet 4 dogs yesterday

rain apex
#

but ur a cat

crystal wren
#

I just realised you technically can't pet the dog in Stardew...

safe dragon
pliant snow
#

Wheres the "Pet the Dog" mod

rain apex
#

do u want that to add petting animation or something

safe dragon
#

they have since added another dog you can pet in the new continent

crystal wren
#

Best I can give you is this.

safe dragon
#

cats would sit on your head so it's accurate

gaunt wadi
safe dragon
#

unfortunately unlike in Hades you cannot pet cerberus in runescape

#

cerberus instead tries to kill you

gaunt wadi
#

Would you all believe that sdv staff is against dogs? They don't think dogs should be allowed in the community

#

It's very sad

safe dragon
#

I believe it hc_pensive

pliant snow
#

Cat comes out of retirement one last time

safe dragon
#

ironically in support of dogs

pliant snow
#

He's equal opportunity

gaunt wadi
#

To view cats as opposite to dogs is to have an incomplete understanding of the universe

#

THEY BOTH LIKE PATS what more is there

rain apex
#

Do turtles like pats

sand frost
#

I recall reptiles being friendly but not necessarily cuddly

#

I considered getting a skink for a while

devout vault
#

Also cats > dogs just saying

sand frost
#

I’m pretty sure right clicking the dog is petting it

rotund violet
#

I didn't realize skinks could even be domesticated. I "have" several dozen of them... I see them maybe once or twice a year.

sand frost
#

I don’t live in skink country 😆

#

At least i don’t think I do 🤔

#

Maybe I haven’t poked around in the woods enough but I thought they lived in deserts

rotund violet
#

They are very reclusive. You might not even realize it.

#

Oh, well there are technically a lot of skink species, but I assumed you were referring to this guy: https://en.wikipedia.org/wiki/Plestiodon_fasciatus

(They're everywhere in the US)

The (American) five-lined skink (Plestiodon fasciatus) is a species of lizard in the family Scincidae. The species is endemic to North America. It is one of the most common lizards in the eastern U.S. and one of the seven native species of lizards in Canada.

sand frost
#

I think the popular pet skinks are blue-tongued skinks

#

those skinks are pretty cute too

#

I decided not to get a skink in the end, mostly because having a pet is a lot of responsibility and my schedule was a little too unpredictable

#

I still want a cat but my fiance says things like "you're allergic to cats! we're not getting a pet you're allergic to"

rotund violet
#

Are you allergic?

sand frost
#

Yes

devout vault
#

I'm allergic but I still would like a new cat at some point

sand frost
#

But they're so cute SDVpufferpleading

devout vault
#

They are! And fluffy (most of them)

rotund violet
#

Well then he's probably right... can't take good care of a pet you're allergic to.

devout vault
#

That's not true at all

#

You can absolutely still take care of them

#

You just suffer

#

(Or take allergy meds)

sand frost
#

I can take allergy meds and some cats I'm less allergic to, but fundamentally he's right here

crystal wren
sand frost
#

I just don't like admitting he's right

devout vault
#

I'm not allergic to all cats either - when my one of my cat's passed away my allergies stopped being an issue despite having another cat still

#

I just took allergy medicine every day up until that point

rotund violet
#

Reptiles aren't really a lot of responsibility, I just don't really consider them pets. But maybe that's because there are so many wild ones.

sand frost
#

I've stayed over at houses with cats and if I take a med daily and don't stick my face on the cat it's manageable

#

On the other hand, sticking face on cat is tempting!

#

they're fluffy!

crystal wren
#

(And hey, I don't know when he went up to fiance, but congratulations! SDVkrobusgiggle)

devout vault
#

My nose was semi stopped up a lot more back then

#

But I'd do it again

crystal wren
#

So I checked and I get why that's true now, but... I don't understand why what makes it true is what happens.

devout vault
#

Well, -Infinity < Infinity is true... but why is it not the other way around

crystal wren
#

That's what I'm saying, yeah.

#

It... confuses.

rain apex
#

blue tongue skinks r very cute

#

i am sure the wild ones will eat me but the domesticated ones r like

#

:)

cinder karma
#

Quick

#

Implement min(IEnumerable)

#

And you'll see why

rain apex
#

but why doesnt that just throw error on empty enumerable

#

like most languages

sand frost
#

my brother says:

min and max are accumulator based, and the accumulator starts at the opposite, so iterating through values it gets updated when it's bigger/smaller

#

these are all words yes

crystal wren
#

Yay, he saved me time doing Atra's suggestion!

sand frost
crystal wren
#

I am now however grumpy at why this is the case.

sand frost
#

my little brother is way better at js than i hope to ever be

crystal wren
#

I actively hope to never be good at it!

sand frost
#

i told him it should be a crime to take max on no elements and he says js doesn't punish crimes

#

i think he has fun making discord bots with the language of crimes

cinder karma
#

Elizabeth's brother said what I wanted to say

#

But I'm on mobile

rain apex
#

when u put it like i guess snek is less crime than js

#

if only bc snek really likes to throw errors

sand frost
#

I enjoy writing Python

#

I just won't teach someone to program with Python unless they literally want to do one thing and aren't interested in getting deep into programming

crystal wren
#

Aww... SDVpufferwaaah

rain apex
#

outside of work i mainly use python for stuff that could have been a bash script

#

but ill never remember what a bash script is supposed to do without googling

rotund violet
#

JS does punish crimes, but not in the formal "you have been tried and found guilty" sense of justice, rather more in the domestic style of slow, gradual and frequently passive-aggressive build-up of minor and seemingly unrelated grievances eventually culminating in a lot of yelling and throwing things.

cinder karma
#

Meanwhile, a broken brain tries to figure out how to run code when a object gets deleted by the GC in python

rain apex
#

is __del__ not working as promised blobcatgooglyblep

cinder karma
#

The code is supposed to release locks on hardware resources when the managing object is deallocated

#

But it sometimes doesn't happen fast enough apparently

#

I think the next game plan is to override new to enforce singleton

cinder karma
#

a puffer thinks

devout vault
#

More like a puffer yoba

cinder karma
#

that's a funky looking fourier

#

funky

#

also, for the same project at work I'm covering a bunch of surfaces in tinfoil

#

so I do look as crazy as you think rn

cinder karma
#

You know how words don't seem right eventually?

#

This is me and spectra

#

Maybe I hit my head ten years ago and this is all a dream

fleet oriole
#

So like, a property is like a field, but in method form. Is this a good way of understanding it?

rain apex
#

Instead of letting anyone directly access field on class, create getter and setter so that you can do things like prevent number greater than 1000 from being set

#

Property is like getter/setter but let people do access with syntax that looks like a field, but once compiled its a method call to getter/setter instead of field access

fleet oriole
#

I see! Thanks!

cinder karma
#

A broken brain asks about python weakrefs

pliant snow
#

You've dug too deep

cinder karma
#

Ooh we have it!

#

Nice

rain apex
#

wow im surprised

rain apex
safe dragon
#

yes

#

in runescape lore horses are treated as a mythical unicorn without a horn

rotund violet
#

PSA: combining primary constructors with add/remove event declarations causes the C# compiler to crash and burn horribly, also crashing every subsequent analyzer in Visual Studio and forcing you to reenable them all one by one.

#

Even now I have the little dotted line "suggesting" that I convert the explicit constructor back to a primary constructor, knowing full well that it's like pulling the pin off a live grenade.

cinder karma
#

C# jumping the gun on suggestions? My oh my

safe dragon
#

that's exciting

#

crashing visual studio is hardly an achievement but this is a step beyond that

cinder karma
#

Oh I've crashed VS by ||attempting to delete an empty .cs file before||

safe dragon
#

well you shouldn't have smh

pliant snow
#

thank you for the spoiler, I hadn't gotten to that part of using VS yet

safe dragon
#

I have crashed visual studio many times through simply trying to work with a MAUI codebase back in preview

#

to this day it honestly barely works

#

also just by doing nothing many times but I don't know what was doing it

#

sometimes it was resharpers fault tho

rotund violet
#

I'm used to VS crashing and behaving oddly, for sure, but it's a lot more unusual for the C# compiler itself to freak out.

#

It didn't actually crash Visual Studio, just everything running inside visual studio, so I had 30 errors about individual analyzers all failing and needing to be restarted.

#

I could just restart VS of course - and I did, but until I figured out what the hell csc was freaking out about, the same thing would just happen again immediately when I reopened the project.

lethal walrus
#

wow fancy ventoy installed

safe dragon
#

I don't trust ventoy

#

it uses dark magic

lethal walrus
#

as in it's fancy

#

or that it's malicious

safe dragon
#

fancy...

lethal walrus
#

ah

rain apex
#

There was some drama™️ about the source code having blobs

lethal walrus
#

interesting

rain apex
#

I don't really get the use case for ventoy though, cus I never had need for more than 2 os

lethal walrus
#

it is a weird choice to have precompiled things that could just be self-compiled

pliant snow
#

ive had issues with ventoy tbh

cinder karma
#

I am learning too much about python GC and __del__ and finalizers and loops 😵‍💫

#

This is my penance for a previous life I assumr

lethal walrus
#

that is surprising but it makes sense, github desktop works for non-github git repos

worn remnant
versed verge
#

(me using python casually): 👀

safe dragon
#

using python casually is the correct approach

cinder karma
#

Max, the decoder ring you need is that I'm a hardware dev

#

not a software dev

#

we use python, actually we do, but it's always cursed

#

I'm lucky in that I'm at least using a modern version of python on one of my projects

safe dragon
#

python 1

cinder karma
#

I just need to raii in python somehow

versed verge
#

I was not even aware hardware devs would use python somehow

#

my closer experience is with arduino, and I used c with it

rotund violet
#

The python isn't running on the device (at least I hope not), just the tools that communicate with the device.

#

Atra thinks he's got it bad, but I've seen the software, firmware and drivers put out by mainland Chinese manufacturers.

crystal wren
#

I dunno, MicroPython does exist... Atra might just be that unlucky.

rotund violet
#

If I had to work with that, I sure wouldn't be working weekends.

floral parcel
#

I hate python. Indents shouldn't control program flow.

frosty echo
#

Eh, you'd be doing indentation anyway, I'd hope. So why not have that do the flow too. Then no chance of a mismatch between what it looks like should be happening and what actually happens, thanks to a misplaced } or something

pliant snow
#

whos to stop me from putting all my C code on one line

rotund violet
cinder karma
#

Raise your hand if you code without an automated formatter

rotund violet
#

Sometimes?

regal ingot
#

Off the top of your head, what are the rules for when you're allowed to put a newline and some indentation without it affecting control or scope in python?

  • There are always going to be cases where you want to break some bit of code across multiple lines so a single line doesn't get too long, and obviously you'll want to indent the continuation lines somehow... so how and why is that indentation not significant (i.e., it doesn't affect control flow or scope at all) but other indentation is?

  • Semantic indentation makes it difficult to move code around.

  • The idiom of using a comment after the closing brace of some scope (i.e,. } // foo()) doesn't really work when your closing 3 scopes at once by just de-denting.

regal ingot
# cinder karma Raise your hand if you code without an automated formatter

I code python without an automated formatter. I mean, besides emacs automatically indenting to the same place as the previous line (and changing indent levels when I manually hit tab)

Then I run the code formatter required before pushing stuff and ignore whatever god-awful choices it made about how to "wrap" lines and hope I never have to actually read the code again.

rotund violet
#

I don't hate python really, and I don't find the idea of indentation-based structure inherently objectionable (I like YAML after all), but I find the arguments trying to establish its inherent superiority over punctuation-based structure to be laughable at best.

#

Using indentation for flow does not reduce errors. What it does do, when used appropriately, is reduce noise, making code easier to read... sometimes.

rain apex
#

Indentation based flow is pretty low on list of things I dont like about python

cinder karma
#

I find that for any code that has any real complexity or if I'm not the solo person on it I want an autoformatter

#

I don't really care how it formats.

#

But I want one

#

Other than labview's

#

I try labview and it makes a rats nest

#

But for me the argument that {} doesn't control indentation is weird. It....should

#

Unless you're coding in 2000

#

That is what the formatter does

rotund violet
#

Some coding styles do allow single-line braced statements, but certainly those are just the exception that proves the rule.

cinder karma
#

Eh, if it is short enough I'll allow it

#

Cough you know which language

rotund violet
#

It's in C# too, just look at auto-properties for the most obvious/prevalent.

#

But, again, those are definitely the exception, and if a brace is actually starting a multiline statement then the inside of the brace should always be indented, I have never (er... rarely) seen any coding style that allows otherwise. (I don't count "scrub" as a "style")

cinder karma
#

But yeah, my number one issue with python is it's scope rules currently

#

My second annoyance is the sheer number of times I need threading and cant

rotund violet
#

Python is good at what it's good at, which is mainly dev/infra tools, AI scripts and academic problems.

regal ingot
#

I think python is ok as a toy language that should be used as an example in an undergrad computer science class for "how not to design a language" (or alternately "this is what happens when your language specification is whatever the interpreter you wrote happened to do"). If you stay away from the "WTF" portions then there aren't that many things to complain about... but that's true of most languages, including javascript (which apparently everyone loves to shit on these days).

rotund violet
#

I'll give the community credit for making it substantially less god-awful to run on a regular desktop; nowadays it's mostly just pip install and run it like a regular executable. Back in the days, it could take hours to get one little python script up and running.

fleet wren
#

Are Python lambda functions still need to be all on one line or did they make it less terrible

#

last I checked that's like my one major hair-pulling complaints with it

#

the rest's... alrght

cinder karma
#

Not sure

#

Have you tried semicolons

#

I'm like legit annoyed I can

for i in range(5):
     If I > 4: break
# outside the for loop

Print(i)
#

I've shot myself in the foot multiple times for not realizing that tbh

rain apex
#

still gotta be 1 line psure, need to use named local function if u want something else

cinder karma
#

Have you tried semicolons?

regal ingot
#

any expression can be multi-line if you slap a \ at the end of lines

pliant snow
#

smh look at all these python haters

rain apex
#

\ is just defering the problems though

regal ingot
cinder karma
#

It goes with the other python nicety

#

You can make anything into a oneliner

#

I assume this is how MiB writes write only code

pliant snow
#

📝 Men In Black write-only code...

rotund violet
#

Yeah, python is the king of code golf, not counting the stupid languages invented specifically for code golf.

#

Although C can sometimes beat it with macro crimes.

regal ingot
safe dragon
safe dragon
#

any model class would expand to 5 times to size and be terrible the quickly parse

#

whenever I actually put anything inside a getter or setter it just feels dirty anyway unless it's the setter just for an INotifyPropertyChanged thing

#

I'd rank having to add {get; set;} all over the place near the bottom in my C# rankings

rotund violet
#

Doing actual work in the getters/setters is the reason why properties exist, despite the die-hard "properties are evil" Java weirdos.

#

The Kotlin designers, bless their hearts, said "screw you" to the Java people and bolted on their own property system.

safe dragon
#

I do appreciate the property system being a thing that's available but 99% of the cases I end up just using auto properties at which point typing it out is just some extra text to write and more visual noise. It's a minor annoyance at most but still

pliant snow
#
safe dragon
#

fuck

#

guess I'll have to look for an alternative for syncing my phone stuff to and from the server

#

I suppose for photos I can just switch back to what I used before syncthing

pliant snow
#

I think theres a fork?

safe dragon
#

there's always forks

#

the question is if it's a fork worth using

pliant snow
#

I think its an already established fork, but idk

safe dragon
#

what is the reason it's a fork instead of them working on the official one

pliant snow
#

drama, probably

#

let me see

safe dragon
#

I'll check it out tomorrow

pliant snow
#

I think its just a web wrapper

#

but apparently its just on f-droid

safe dragon
#

syncthing itself hasn't been on the play store in a while either

#

gotta use fdroid either way

#

bless third party app stores

#

savior of nerdy projects with no time or budget to deal with the official one

#

shame apple figured out a way to ""support"" third party app stores in such a way that they're essentially worthless

pliant snow
#

i tried to do the US one and it was beyond terrible

fleet wren
#

malicious compliance as its best. I think the EU is on their ass for that

pliant snow
#

im really not convinced the alt store would really take on off apple even if they did allow it, but its frustrating they're so against it

#

theres a podcasting app in beta i really want to use but cant because of that

gaunt wadi
#

hopefully it'll just continue working for a while

safe dragon
#

much like f-droid on android

#

ideally apple would just allow proper sideloading without even needing a storefront but that's not happening unless they're required to

austere basin
#

I tried to learn js while on the plane...guess what i did instead

lethal walrus
#

Learn typescript?

safe dragon
#

learn uzbek

austere basin
#

i learned vim lol

safe dragon
#

nice

austere basin
#

"learned" is a strong word in this context tho

#

more like, became less frustrated with it

safe dragon
#

it's progress

#

I'm not a huge fan of vim itself but I use the vim keybinds in basically every editor that supports them

austere basin
#

once upon a time in my first linux job, the embedded machine i had to test on only shipped with vi. not vim. and no internet connectivity

cinder karma
#

God I'm glad I have vim

austere basin
#

one day i will learn how to be gud at tiling windows and linux in general

cinder karma
#

For the unix half of my job installing anything is worse than getting your teeth pulled

#

So I have to live with whatever we currently have

austere basin
#

my first day, i didn't realize there was a difference between cd .. and cd .

#

funtimes

rain apex
#

do u have permission to apt-get

cinder karma
safe dragon
#

oh no

#

easy package installs are one of the biggest reasons I switched to linux

cinder karma
#

Okay it went away

#

(I don't want MS backup.)

#

Everything important on Windows Half is in git

#

Teams go away

worn remnant
# cinder karma What

it is so bleak to me that three of the subparagraphs here are identical ("See your activity history on all your devices.")

cinder karma
#

Yup

#

And I was legit afraid it broke my laptop because before that it hung for five minutes

rotund violet
#

Yet when I point out my avoidance of Win11 and Windows Updates in general because of this being the typical experience, I get question marks and metaphorical blank stares.

safe dragon
#

do you not find this highly appealing

pliant snow
#

I'm finally setting up HTTPS for my local server stuff

safe dragon
#

https is for cowards

#

send all your data over the internet unprotected

pliant snow
#

it has been a success

#

idk why i resisted doing this for so long

rotund violet
#

And think about that: just how far must you fall, talentwise, to make users miss the good old days of Clippy.

earnest cairn
#

my companies IT tests all windows updates for a week and only enables the updates then, cant risk to shut down half the company x)

safe dragon
#

cowards

#

let it burn

#

I don't think my (old) company even had a policy surrounding that

#

we just kinda updated our laptops when we felt like it

#

and the servers were running like some old version of windows server

pliant snow
#

is it really a windows server if its not still on XP

safe dragon
#

that's not even a windows server OS...

pliant snow
#

thats never stopped them

safe dragon
#

I believe they were running Windows Server 2012

pliant snow
#

any Windows install is a server if you dont plug in a monitor

rotund violet
#

But whom does it serve?

pliant snow
#

KDE plasma has had the most annoying bug this past week where their panels aren't really working correctly

safe dragon
#

what's it doing

#

or not doing

pliant snow
#

I think it's an issue with the "icon-only task manager" widget. It starts out where you can only select the first 5 or so icons, but after a reboot or something, you can only click the first

#

It's what I primarily use to switch between programs

safe dragon
#

not the best widget to be breaking

pliant snow
#

its not ideal

#

im hoping its fixed in the new release, but otherwise idk what I'll do, I guess find a different widget

crystal wren
#

I'm in danger!

pliant snow
#

is yours still happy

crystal wren
#

6.2.1-1? Seems fine for me!

cinder karma
#

How have I just noticed gitlab doesn't highlight python match statements correctly

pliant snow
#

I've noticed that in other editors too, it must be some common LSP that doesnt

safe dragon
#

don't think LSPs do syntax highlighting

pliant snow
#

Errr tree sitter

#

Or whatevwr its called

safe dragon
#

that's the one used by neovim yeah

pliant snow
#

it was not fixed in the update 😔

rain apex
#

it doesnt seem broken for me either

pliant snow
#

plasma seems to behave very strangely on this computer in general

safe dragon
#

it doesn't like that computer

crystal wren
pliant snow
#

huh, that's neat

modest jewel
#

Does anyone know where SMAPI.dll is located?

#

Or can someone explain to me which .dll takes care of the api part?

vagrant basalt
#

Is Rider nicer/better than VS22?

sand frost
#

It works on Mac

#

Unlike future VS

#

I should probably get cracking on learning rider

crystal wren
vagrant basalt
#

Is it heavier on RAM than VS22 as well?

crystal wren
#

You know what, let me do a comparison in a little bit! I'll open up the Stardew decompile in both and compare them.

vagrant basalt
#

Thanks! I'd just download it and try to compare for myself, but I haven't done much with VS22 yet so I wouldn't actually know what to look at to compare (other than just looking at RAM usage)

rain apex
#

how does rider handle non cs files

#

like json md png

crystal wren
#

JSON just like WebStorm, Markdown just like WebStorm...

#

Hell. even full JavaScript with everything you'd want.

#

Oh, oops. They've got a direct thing on their site:

rain apex
#

wow branding

worn remnant
#

when i see one of those jargon collages my brain immediately enters PowerPoint Mode™️ and checks out

#

"some business guy is showing me his checklist. see ya"

crystal wren
#

Yeah, I hate it a lot.

crystal wren
rain apex
#

is there like, turn off most analysis button

crystal wren
#

Honestly not sure! It's basically VS + ReSharper in one thing, so more usage is to be expected by default but I didn't expect that much more.

rain apex
#

Consume DokkanStare

vagrant basalt
#

Ah. Well I already have issues with running out of ram just with vs22 so I think rider isn't for me haha

fleet wren
#

I dont rember but does SDV hot reload work with rider, or was that still fudged

worn remnant
#

to my knowledge, hot reload simply does not work on linux at all under net6 (it seems to on some newer target frameworks)

rain apex
#

It was debugging on linux that didn't work for rider

crystal wren
#

On Linux for me, hot reload works. Debugging, however, does not.

#

Specifically for SMAPI, though. They're aware of the issue, it's just a matter of hoping they find time to look into a super niche debugging issue.

worn remnant
#

gotta wonder what rider is doing to make hot reload work (dotnet watch does not do whatever that is)

#

maybe it's my ancient linux though, i could try a newer install

crystal wren
#

Yeah, debugging works on Linux with VSCode, but not hot reload.

#

And yes, I tried launching via Rider for hot reload and attaching via VSCode for debugging. It does catch the breakpoints, but breaks the hot reload.

safe dragon
#

hot reload barely even works on visual studio man

devout vault
#

Works all the time for me SDVPufferThink

#

Besides one crash yesterday when I set a breakpoint at a variable initialization with a lambda and edited the lambda - not sure if that's the cause or was a coincidence

safe dragon
#

half the time when I use it I just get the message I edited something it can't hot reload and I have to restart anyway

devout vault
#

I used to get that a lot when modding was on .Net Framework, but these days not so much

safe dragon
#

and it doesn't work for blazor wasm at all but yeah

devout vault
#

Ah, yeah, I guess blazor is another beast

safe dragon
#

I much prefer rider over visual studio in feel but I'm fine using both

#

visual studio is most I've used professionally

#

never tried vscode for C# but if the LSPs are anything to go by I don't have high expectations

rotund violet
#

50% of the time, it works every time.

devout vault
#

I like VS more, but I'm more used to it. I also couldn't find a replacement for this feature (the dropdowns) in Rider:

lethal walrus
#

may as well try it i guess

safe dragon
#

I never use that dropdown so I don't miss it very much

devout vault
#

I mainly use it when in the game decompile since some files are large

#

(Well, many are)

rotund violet
#

Yeah, it's nice that Rider is offering the same terms as VS Community but I'm still sticking to VS. If I were on Linux and VS weren't available, then I'd go Rider. Just not a big fan of Jetbrains IDEs.

crystal wren
#

Closest is this I think, yeah.

#

I remember this conversation, though! SDVkrobusgiggle

devout vault
#

I could probably stop paying for Rider now that they offer it for free for non commercial. SDVPufferThink I got it for when I need to mod on my Mac since VS is discontinued (and was janky anyways)

#

Though to be fair I could've gotten an open source license probably anyways

crystal wren
#

If I got one, guaranteed you could have.

devout vault
#

But I also work on my game that I'll theoretically sell at some point, so...

rotund violet
#

I may or may not try rustrover since that's the same free license. The whole CLion debacle left a bad taste in my mouth, though, and I'm wondering if they ever fixed the perf issues.

safe dragon
#

last time I tried rustrover it was a mess

#

kept breaking on me

#

also had a few warnings that were just... wrong?

rotund violet
#

It wasn't exactly awesome on CLion either, but being so immature I'm not surprised to hear RustRover is buggy.

safe dragon
#

luckily visual studio on old legacy projects has taught me to simply ignore warnings!

rotund violet
#

rust-analyzer can also generate a lot of spurious warnings if you don't expand proc macros and such.

safe dragon
#

yeah

devout vault
#

(And that's only with 5-6 of my mods loaded)

safe dragon
#

neither are ideal though they're both still better than any IDE experience for most other programming languages

rotund violet
#

It's still an annoying tradeoff between "compilations taking less than 3 lifetimes" and "warnings that make any sense at all".

safe dragon
#

at least rust compilation is drastically faster on linux than it is on windows

#

it helps

rotund violet
#

Don't remind me.

safe dragon
#

apparently it's very very fast on the ARM macbooks though

rotund violet
#

So much drama around the mold thing.

#

Oh, interesting. I have one, so I should try that.

#

How hilarious would it be running a way-too-expensive, liquid-cooled desktop PC and farming out builds to a Macbook.