#programmers-off-topic

1 messages · Page 137 of 1

safe dragon
#

also AST is a standard abbreviation used industry wide so you're fine there

little furnace
#

I just found it, do I look like a low-level (yes, it's low-level to me) coder?

devout vault
#

I'm not saying impossible either

safe dragon
#

I ""know"" over 1000 kanji

runic kraken
#

I mean I posted my haskellified C# before I switched to Ocaml and they almost banned me from their discord.

 public static Result<Expr> ParseIf(ParserState state) =>
    Result.Ok(state.Advance()) // Consume 'if'
        *  ParseExpr(state)
        >> cond => Expect(state, T.Then)
        *  ParseExpr(state)
        >> thenBr => Expect(state, T.Else)
        *  ParseExpr(state)
        >> elseBr => Result.Ok(new IfExpr(cond, thenBr, elseBr)); 
#

it looked like this

devout vault
#

I just wouldn't describe it as "not that hard", especially if (admittedly I'm assuming this based on this server being english) you've only ever worked with alphabet-based languages

#

I find it very hard to believe that you would get (almost) banned for unreadable code

little furnace
#

It was probably an exaggeration.

safe dragon
#

honestly I feel like they didn't even think that was C#. Like that code would never pass a code review

runic kraken
devout vault
little furnace
runic kraken
#

No :) I should have

long verge
runic kraken
#

or something, idr exactly

#

I wrote this code at like 4 am and then remembered Ocaml exisited

little furnace
#

Still never got to repair it.

safe dragon
#

yeah I remember your explanation

devout vault
runic kraken
#

I had to do this because I am NOT writing 20-30 lines of recursive parser descent functions with try/catch

safe dragon
#

that explanation also only makes sense to me cause I've used haskell lmao

runic kraken
#

It would be incredibly verbose

#

Normally I would never do this, I hate OOP and C# so I use it in a semi-functional way but I atleast dont do this insanity

devout vault
runic kraken
#

is a clear pipe symbol

safe dragon
#

I guess that's ultimately the most important. Follow the conventions of the language or community you're in. LIke the modders here have a C# convention I don't entirely agree with but if I was making a mod I'd try to stick to that

devout vault
#

I've never used haskell or ocaml or whatever, so that doesn't help

runic kraken
#

I suggest ocaml, its nice

#

Haskell will mind fuck you entirely

devout vault
runic kraken
#

There are no variables, no for loops, and everyone writes 2 letter long names

#

(There are variables, but they live in IORef or State)

safe dragon
#

also you've now overloaded * to mean the <*> applicative operator but what would you now do if you want to add support for <* and *> which are also used regularly for stuff like this

runic kraken
safe dragon
runic kraken
#

I'll actually do it at some point

#

Its the one thing I hate from C# more than anything in the world

long verge
safe dragon
#

haskell is a weird land

#

there are functional programming languages with pretty simple nice syntax and more "normal" coding conventions than haskell though

runic kraken
# runic kraken Its the one thing I hate from C# more than anything in the world

so I could do

#operators List, Maybe, Result {
  #operator <*> infixr 9 $object.App
  #operator <$> infixr 9 $object.Map
  #operator <#> infixr 9 $object.Flip($object.Map)
  #operator >>= infixr 8 $object.Bind
  #operator >> infixr  8 $object.Seq
#}

public static void Main() {
    var xs = [1, 2, 3];
    var add_one = (x) => x + 1;

    var new_xs = add_one <$> xs;
}
#

fixed my worst issue with C#

safe dragon
#

I think you're meant for haskell

#

or that niche

runic kraken
#

yes but i use C# for certain projects

#

like my app I am developing (cross platform drawing app)

devout vault
#

Can you even call it C# if you're adding new operators and stuff and just transpiling into plain C#. That's closer to a new-but-similar language meant to run on the same platform (ie. the .net runtime)

If I remember right that's even how C++ began (as "C with classes") - it transpiled its custom stuff to C, and then that got compiled to assembly

safe dragon
#

forcing another (wildly different) language's syntax onto C# to me is just a recipe for nightmares

runic kraken
#

I would probably call it H#

safe dragon
#

a functional programming alternative to C#... we'll call it F#

#

wait...

runic kraken
#

I could probably add discriminated unions in less time than it takes Microsoft to do it too lol

#

This transpiler would be childs play compared to the language I am developing currently

safe dragon
#

why are you using C# and not F# anyway

runic kraken
safe dragon
#

F# still gets updates every release cycle

little furnace
#

10.0 was released three months ago.

devout vault
#

It probably is easier to add a new feature to a still-in-development language/runtime than a long-established one that has become huge and needs to worry about backwards compatibility and such, yeah

safe dragon
#

it benefits from also being a .NET language so all the performance work done in .NET transfers to F#

long verge
runic kraken
safe dragon
#

like template heavy C++

#

mystical error messages

devout vault
runic kraken
#

Its a deterministic 1:1 output

devout vault
#

There are legitimately times that I've wanted templates in C#. Mostly before I knew much about generics, but even more recently there have been some cases (that I don't recall off the top of my head)

runic kraken
#

well okay maybe a bit more complex because I want to force typeclasses into it

#
type Shape =
    | Rectangle(int w, int h)
    | Circle(int radius);

#[infixr 9 `<$>` mapping=$.Map]
public List<A> `<$>`(..) => {} 

#[infixr 9 `<$>` mapping=$.Map]
public Option<A> `<$>`(..) => {} 

#[infixr 9 `<$>` mapping=$.Map]
public Result<A,B> `<$>`(..) => {} 

typeclass Functor {
    public `<$>`(..)
}

it'll look a bit like this unprocessed

#

Ill probably have to fake HKT but I could backport what Im going to do for my language and transform C# from a garbage tier language that is "fine" to a god tier one

safe dragon
#

good luck forcing typeclasses into a language not designed for them

runic kraken
#

Mojang does it with Java

dusty pollen
#

fun fact: most people actually do remember and read words as whole words (rather than sequences of letters) for the most part so you do remember thousands of visual representations of words too! (alphabets help a lot for dyslexic people and for people who are learning the language though because they help bridge the gap before you do remember all the thousands of words, because they allow you to use the sounds to reverse engineer the way to write the word)

devout vault
#

Same sort of reason why it's easier to remember a quote than "the amount of digits of pi that equals that amount of characters in said quote"

#

And even if you don't remember the exact words of the quote, it's easier to remember close to it. (ie. me and almost every quote ever)

#

(Or that's how it works for me)

dusty pollen
#

(I found those "did you know you can read without vowels" things funny when I first moved to the uk because my first language is an alphabet but with limited and optional vowels lmao)

dusty pollen
devout vault
#

I guess I assumed that's related to being able to recall words as whole words, rather than strictly how they are spelled

#

Like when multilingual people know there's a word for something in a newer language, but can't remember what it actually is

dusty pollen
#

I think that's also more to do with semantic meaning? but idk

(also btw it works both ways, you can absolutely forget the word in your MAIN language SDVkrobusgiggle)

devout vault
#

Semi-related, this is a fun concept, even if (from what I understand) it's less believed to be "determinism" but more about influencing it.

https://en.wikipedia.org/wiki/Linguistic_determinism

Linguistic determinism is the concept that language and its structures limit and determine human knowledge or thought, as well as thought processes such as categorization, memory, and perception. The term implies that people's native languages will affect their thought process and therefore people will have different thought processes based on t...

devout vault
runic kraken
dusty pollen
runic kraken
#

english is very illogical and 'vibey' and i hate that

long verge
runic kraken
#

literally everything

dusty pollen
#

I didn't say it wasn't, tbf SDVkrobusgiggle but yeah, English as a writing system struggles because of how many influences it has

long verge
runic kraken
#

there is not a single logical thing about the english language

marble jewel
#

Ah, that clears it up then

runic kraken
#

you can look it up

lethal walrus
runic kraken
#

but one example is like multiple versions of the similar concept with the same pronounciation that differ slightly

long verge
runic kraken
#

their, there, theyre

#

i mess it up all the time

marble jewel
#

For example:
this part -> literally everything <- that part
Apparently

long verge
dusty pollen
#

some of it is just the normal problems that all natural languages face tbh, I've always hated when people claimed English is particularly nightmarish compared to other languages because ngl it isn't in my opinion, it's somewhere in the middle

devout vault
long verge
marble jewel
#

Is the illogical in the room with us right now?

dusty pollen
#

please don't call other people fools for saying things don't make sense to them... we can keep this conversation impersonal

devout vault
#

I dunno, I just found "how things work" to be fascinating in general regardless of subject.

Even if it's not correct or even real - like, I love thinking about how things work in a fantasy setting, for example

marble jewel
devout vault
#

(Like iro said)

dusty pollen
marble jewel
#

Bah, English language strikes again

devout vault
dusty pollen
#

hey, I disagree with this entirely

some are both!

dusty pollen
devout vault
dusty pollen
devout vault
#

Hmm

#

I can't really say I'd pick a linguistic language thing at all - like sure, there are problems, but I'm not sure what could be done that wouldn't also negatively impact other things.

Like, linguistic language isn't simply used to communicate things objectively, so we can't just remove ambiguity without taking away from those other aspects.

long verge
dusty pollen
#

tbf, English and French are very close considering English kind of came from French SDVkrobusgiggle

devout vault
#

All the romance languages are easier to learn starting from one going to another, compared to romance language -> other type of language. Right?

dusty pollen
#

does English technically count as a romance language?

terse galleon
#

inb4 technically english is germanic

devout vault
#

Hmm. Dunno

terse galleon
#

DAMN IT IRO

devout vault
#

I'm not a linguistic nerd, that's one of my brothers 😛

dusty pollen
#

but yeah, things like not having a grammatical gender system, having a very simple alphabet (not an abjad, no accents, no final letters), not being tonal etc make English relatively on the simple side imo

long verge
worn remnant
devout vault
#

I guess rather than romance languages, I meant whatever you call latin-derived ones

terse galleon
#

what’s your guys favorite orthography. mine is a toss up between cherokee and korean

devout vault
#

Or are germanic ones not derived from that either

dusty pollen
#

ngl I like Hebrew but I'm biased SDVkrobusgiggle

devout vault
#

Tell me what an orthography is first

terse galleon
#

latin derived are romantic yeah

#

orthography = writing system

devout vault
#

Oh

long verge
devout vault
#

You know, sometimes I feel like syllabaries are saner than alphabets

terse galleon
#

i do like a good syllabary

devout vault
#

But I don't know how easily they translate to alphabet structure

terse galleon
#

they’re like puzzles

worn remnant
#

i don't have any particular beef with alphabets, except in english
(orthography is spelling)

devout vault
thin estuary
supple ether
#

that's what neuralink is for, right? /j

devout vault
#

Like if you made a copy of me into a compressed time chamber in a producitivty-for-casey-focused alternate timeline, and then gave real me the end result.

dystopian? What's that?

marble jewel
devout vault
#

Are we still on gpt 5?

marble jewel
#

Yeah I guess 6 having makGaem() is a too optimistic. GPT 24

terse galleon
#

isn’t google’s new thing a video game-making AI

marble jewel
#

There's also that Roblox controversy

#

I remember reading something about the promises they're making to investors vs developers

devout vault
#

I feel like y'all are skipping the two things where I said "yeah AI won't do it right"

marble jewel
#

The problem with LLMs is that they're still building against a programming language meant for humans understanding. What we need are languages that AI can used to communicate within itself that humans couldn't possibly understand. What could go wrong?

devout vault
#

didn't one of the translation models pre-LLM-madness get shut down for that reason

cinder karma
marble jewel
#

Have you touched your grass today?

cinder karma
#

Matt did u see matplotlib

marble jewel
#

See it? Where'd it go?

devout vault
#

Did another thing happen re:the AI pull request?

terse galleon
marble jewel
#

If AI can communicate in a language optimized for its own understanding, then maybe that Terminator future can finally be realized

red crest
#

(sorry atra)

cinder karma
#

I think it's funny lol

#

Every. Time.

terse galleon
#

you jailbird you

cinder karma
marble jewel
#

Oh wow is judgement Day already upon us?

devout vault
#

There's two followup articles to that one too

cinder karma
#

Anyways I keep getting smite by automod lol

#

At this point it's hilarious

devout vault
#

Mozart serially kills Godot.

Automod serially smites atravita.

#

(Godot has been pretty safe ever since I moved him to a higher shelf)

fleet wren
#

why does every AI write the same fucking way
once you start to notice the "this isn't <clumsy metaphor>, this is <even clumsier metaphor>" pattern that every LLMs are in love with you'll see it everywhere

marble jewel
#

It is strange to me that AI has developed it's own way of presenting things that is recognizably AI. Like are there examples of this in the material it was trained from, or how else did it pick up these patterns?

fleet wren
#

(very informative article btw; wikipedia presumably has to deal with a deluge of this stuff in edits)

dusty pollen
#

I think it just picked up the true zero / origin of writing, but it’s so recognisable because there’s nothing else when AI writes

#

so it’s distilled

#

like influencer apologies always get accused of being ai because the other thing that sits near the true center of writing is pr speak

little furnace
dusty pollen
#

another point to orthography SDVkrobusgiggle

marble jewel
dusty pollen
#

but also you just described the idea of “temperature” in llms basically

steel kraken
#

My general view of things is I want the backend to do as little as possible and only be responsible for persistent storage (database) and be the final decision maker for mutating that storage.

if I have 500 concurrent users, then if the frontend does the work I have distributed compute for $0, if the backend does all the work I have a more expensive compute bill.

prisma flume
# runic kraken there is not a single logical thing about the english language

it's perfectly logical when you understand it's largely the product of england being conquered by the owners of all of the language's parts. now why you think mandarin is remotely logical, clear, and understandable is beyond me SDVdemetriums the language is also littered with loanwords as phoneticised with roughly matching phonetic symbols/groups and at least to the untrained ear has just as many near-homophones

#

compatibility and edge-case support will always ruin the most beautifully crafted codebase 🙂‍↕️

devout vault
#

This is apparently roslyn

#

I haven't been on my computer since last night

#

What is it even doing to jump between 5 GB and 30 GB so much

#

Hope killing it didn't break anything

prisma flume
#

does mandarin have global interpreter lock

cinder karma
#

Yes

#

Only one man can interpret mandarin at any point and I'm waiting for him to tell me what my grandmother told me for Lunar New Year

prisma flume
#

if i know mandarin-speaking grandmothers it was either 'happy new year' or 'are you married yet'

cinder karma
#

My favorite brit posted!

prisma flume
#

me? SDVpufferpleading

cinder karma
#

You're aussie.

devout vault
cinder karma
#

DH knows.

devout vault
#

I know

cinder karma
#

He knows I very much appreciate quality teaching

#

Damn

devout vault
#

One doesn't stop wishing someone RsIP just because they wished it once before

cinder karma
#

If I had 6 more hours per day I would love to grab an adjunct position at the local university

#

(@ Elizabeth)

cinder karma
#

This is new

sand frost
#

the not-@ worked 😛

cinder karma
#

Six more hours per day

#

I need 30 hr days

sand frost
sand frost
#

mandarin at least has a ~canonized orthography, taiwanese has "um well let's just write it down phonetically for a little bit cause we don't have characters for this one"

#

and several slightly different phonetic systems

#

and a ton of japanese loanwords that were originally english before they were japanese

devout vault
cinder karma
#

No no no

#

I just get 6 extra hours like I'm Hermione Granger in book 3

devout vault
#

Yeah I don't want days that long for capitalism to abuse either

pliant snow
#

Today's troubleshooting nightmare -- I've been googling a problem, found a reddit post that looked like what I wanted, only to find it's the reddit post I made yesterday which still doesn't have the answer

prisma flume
#

book 3 of what

devout vault
pliant snow
devout vault
#

(I figure you know, I just wanted to make that joke)

cinder karma
devout vault
cinder karma
#

Capitalism

prisma flume
#

i simply won't stand for anyone saying mandarin is logical when 可 is 'maybe' and 可可 is 'chocolate' purely because it sounds like it

pliant snow
#

that character looks like a for sale sign

prisma flume
#

可售 ☀️

devout vault
pliant snow
#

living seems fairly achieveable

devout vault
sand frost
#

Unless there's new slang I'm not up on it should be 巧克力

#

but i am severely out of touch with any and all slang

runic kraken
#

my friend finally got pissed off w C# error handling like I did and asked me for my cursed monadic Maybe/Result type library. I plan to clean it up (remove the weird symbols, but keep them as options) and give it to him later

#

I mean it makes sense when you're working on a 1000+ line project split across multiple files

devout vault
#

Is 1000 considered a lot

runic kraken
devout vault
#

Proper exception type?

runic kraken
#

Result/Maybe monad

devout vault
#

I don't see what that has to do with exceptions

runic kraken
#

Because its superior

#

You don't throw, it just returns a value up the chain

devout vault
#

(I don't know what monads are, and haven't used anything in the sorts of languages you talk about it)

#

(Yes I've looked it up, I never remember)

runic kraken
#

My language I'm designing will rely on them to function

sand frost
#

a monad is...a cat inside a burrito, i think

devout vault
sand frost
#

i do like tacos better than burritos

devout vault
#

Justice for tacocats and purritos

runic kraken
sand frost
#

but i think the burrito is meant to signify more wrapping

runic kraken
#

I didnt give him any metaphors when I was teaching him programming because I knew he would have hated it, so I just gave him the abstract, and mathematical/computation definition

sand frost
#

casey, on the other hand, loves cats

devout vault
#

A link to the official docs of a language I've never used or even used something of a similar paradigm definitely wouldn't help me 😅

devout vault
devout vault
runic kraken
sand frost
#

from a glance at the wikipedia article somehow a monad is like a function returning a tuple <result, success state> and that is chill with being nested

#

idk no one is obliged to learn haskell

runic kraken
#

Its a design pattern and not really one "thing"

#

Or that may be applicative functor, I get the two mixed up and theyre basically just slightly worse monads

devout vault
# runic kraken I sent the documentation, you can read how they work

Docs for a language I've never used and never used anything that has a similar coding paradigm of. Like I said.

I'm not saying I expect you to explain it either - I'm not trying to be entitled to your time or anything. I just don't get how it can be strictly superior always.

Like, people abuse OOP, absolutely. Doesn't mean it is always bad

sand frost
#

unrelatedly my coworker is on the verge of panic buying a table saw

sand frost
#

he seems to have been talked down from it

#

it's cheap

devout vault
#

Yes but why

runic kraken
sand frost
#

who can resist a cheap table saw??

#

(me, i can resist it, those things are death traps)

#

it also is like, a yard sale type situation, first come first served, and i feel like the urgency has sort of gotten to him

cinder karma
#

I want a cheap table saw

devout vault
#

I saw a table earlier

#

It was okay.

sand frost
#

hopefully not a deathtrap table saw

devout vault
#

Nah, just a table that's impossible to keep anything level on. My dad likes weird tables, and I dislike that dining table so much

sand frost
#

shims

#

put shims under the legs

devout vault
#

~~It's not new, it's been here for years. But we've had weird ones before

devout vault
#

The surface isn't flat

sand frost
#

oh...

#

oh no

devout vault
#

It's like gnarled wood

sand frost
#

sneak in with a power sander when he's not looking

devout vault
#

That won't save it

sand frost
#

and a mask, don't want to inhale all that wood dust

devout vault
#

I should go down and grab a snack, picture incoming

#

Harder to tell without depth perception, so a video instead

#

Honestly we've had worse ones before

runic kraken
#

aside from recursion, which i still struggle with I find Haskell/Ocaml as natural as driving a car and Java basically the equivalent of trying to fly a plane blind, while drunk

pliant snow
#

I didn't like OOP, until I found a language that used OOP in a way that felt more natural to how I think about it, and then after that I can use it a lot more effectively

runic kraken
#

OOP is not natural and never will be natural to how i think

#

I think in terms of categories (sets) and arrows (morphisms) between those sets

little furnace
# runic kraken aside from recursion, which i still struggle with I find Haskell/Ocaml as natura...

But that seems to be simply a matter of preference. To me, Haskell feels like controlling a helicopter with too many buttons none of which makes sense to me, while Java is... like driving a car. A rusty one. Without servos.

I believe that everything is subjective. There is no truth, because you can't prove that the entire world isn't just your hallucination. Which, admittedly, doesn't fit aphantasia, but you never know.

runic kraken
#

set of animals -> set of canines -> set of domesticated dogs -> dogs -> golden retriever

#

It is functionally impossible for OOP to ever feel natural to how I think

little furnace
prisma flume
#

it makes perfect sense. the usual dog.update(time) loop just handles basic routines like eating poop and slobbering. extended to some GoldenRetriever : Dog though and you're able to call super.update(time) for the usual drooling and barking, but also add in additional behaviours like fetch() calls

runic kraken
prisma flume
#

you can also conveniently override properties like hairLength for higher values but ultimately you can just edit the data in dogs.json

runic kraken
#

I asked gemini to give me the equation after describing it and this is the equation it gave me and it is a mapping between sets

little furnace
pliant snow
runic kraken
#

its a sets connected with arrows (morphisms)

pliant snow
#

OOP doesnt require inheritance

devout vault
#

Pathos has aphantasia

#

Not saying you're lying about it not making sense

#

Just saying I don't think it's an aphantasia thing, or at least not universally

runic kraken
runic kraken
devout vault
#

I didn't intend to imply you were lying

#

Simply that I don't think aphantasia = having difficulty with OOP

runic kraken
devout vault
#

Pathos's code feels more OOP (and enterprisey) than any other code I've ever seen

runic kraken
#

So that by definition makes it a nightmare to work on

little furnace
runic kraken
#

I can write OOP, I just fucking hate every second of it

little furnace
runic kraken
#

And avoid mutable state wherever possible. I would rather spend 2 hours writing a recursive function or a Maybe type than using a nested for loop or exceptions

supple ether
#

Have you tried wireframing?

runic kraken
supple ether
#

If you don't want to write oop, why not use a language other than c#?

runic kraken
#

I am forced into using it because there are no good third party cross platform libraries and I refuse to use Electron

#

If I use GTK it would let me use a language I actually like, but I cannot run it on Windows/Linux/Mac

little furnace
runic kraken
supple ether
#

Swift is also xplat

runic kraken
#

Granted I either AI autocomplete the bullshit or use a reactive library like CommunityToolkit.Mvvm as a crutch

little furnace
devout vault
#

same

pliant snow
#

packaging GTK is a nightmare

devout vault
#

Probably not helpful here, but is wxwidgets still around? 😛

runic kraken
pliant snow
#

I've done it, you basically have to just include the entire damn thing along with your program

supple ether
devout vault
#

I assume so, since I think Code::Blocks is technically alive

prisma flume
#

against all odds

little furnace
supple ether
#

Oh there's also qt

pliant snow
#

Qt wasn't half bad last time I tried to compile it for windows

devout vault
#

True

#

I was ignoring qt

runic kraken
#

I already wrote 100+ lines of code so its honestly not worth rewriting it all

devout vault
supple ether
#

Qt, slint, swift

little furnace
#

Everyone in my university hates QT with a passion for some reason.

devout vault
#

(source: I tried to avoid it when working on the tiled PR, but ended up making an account anyways)

supple ether
#

I think react native is mobile only

pliant snow
#

register what

runic kraken
#

QT designer is bad but the QT QML is very nice

little furnace
runic kraken
#

QML is purely declarative like Swift UI

devout vault
runic kraken
devout vault
#

I think one of the windows package managers supposedly handles it? But I couldn't get it working

pliant snow
#

I just did it recently, I'm trying to remember how

little furnace
runic kraken
#

Granted its probably very un-C# code, no weird manager or DI or any "enterprise practices"

pliant snow
#

Oh I just staticly compiled the exe I think

#

I wrote this four months ago, you would think I would remember how I did this

devout vault
#

Why the heck is their release schedule so slow, but somehow still happening

pliant snow
#

I used PyQt6 with Pyinstaller, which I think is smart enough to pull in both the python and Qt dependencies when it makes the exe

prisma flume
#

but look, it went up by a version every year. now that's progress

devout vault
devout vault
pliant snow
#

i even had a custom font, man I was feeling fancy

supple ether
#

IIRC slint has bindings for cpp, rust, and python as well

devout vault
#

Deploying a qt app? I struggled with that recently too!

pliant snow
#

for those keeping track, no i havent fixed my networking problems

prisma flume
#

i couldn't tell 🙂‍↕️

pliant snow
#

the jukebox beating will continue until networking improves

prisma flume
#

i've heard of beatboxing but box beating???

hardy jewel
#

bot abuse...

pliant snow
#

the sooner one of you tells me whats wrong with my ethernet settings, the sooner we can all move on

runic kraken
# runic kraken Granted its probably very un-C# code, no weird manager or DI or any "enterprise...

        private static readonly Dictionary<string, Func<IBrush>> _factories = new(StringComparer.OrdinalIgnoreCase)
        {
            ["hard-round"] = () => new Brushes.BasicBrush(),
            ["eraser"] = () => new Brushes.EraserBrush(),
        };

        public static Dictionary<string, Func<IBrush>> ImplementationFactories => _factories;

        public static void RegisterImplementation(string key, Func<IBrush> factory)
        {
            _factories[key] = factory;
        }

        private static Func<IBrush> ResolveImplementation(string? key)
        {
            if (string.IsNullOrWhiteSpace(key))
                return () => new Brushes.BasicBrush();

            if (ImplementationFactories.TryGetValue(key, out var factory))
                return factory;

            Debug.WriteLine($"[Loader] WARNING: Unknown implementation '{key}', defaulting to BasicBrush");
            return () => new Brushes.BasicBrush();
        }

on a scale of 1-10 how un-C# is this code, be honest please

#

This is from LibraryLoader.cs

prisma flume
#

if you're smart like me then you set your router to dsl instead of wireless and then also set your connection to pppoe instead of dynamic ip

#

and consequently lost hours of your life

pliant snow
#

im trying to be fancy and use vlans

#

but i cant communicate with my server when devices arent on its vlan

#

and thats the one device that needs to be contacted from another vlan

prisma flume
#

99% of networking acronyms are not to be looked at or thought of

#

vlan is no exception

#

unless you're talking about vlc media player and that's ok

regal ingot
pliant snow
#

yeah, the router. I opened everything up as a test to make sure things were working, and sure enough all the wifi devices can chat no problems, but the wired one refuses to

runic kraken
#

on a scale of 1-10 how un-C# is this code, be honest please

devout vault
#

I'm like 95% sure I've done that sort of thing in my mods before

pliant snow
#

i probably should plug my laptop into the router to see if its just a wired configuration thing but i dont wanna walk over there

runic kraken
regal ingot
runic kraken
#

Func<IBrush> is a thunk, it stores a function that will execute a result, not execute a function

devout vault
#

I know what it does

pliant snow
devout vault
#

Like I said, I'm 95% sure I've done stuff like that before in my mods

#

And recently, too

runic kraken
#

intresting

regal ingot
devout vault
#

(I assume you mean storing Func for creation of things - your fancy terminology is meaningless in my mess of a brain)

#

I tend to dislike dependency injection, though

runic kraken
#

I hate DI, this is basically lazy evaluation

runic kraken
#

I forced C# to be lazy evaluated so I can inject my own functions at runtime based on an XML file

pliant snow
devout vault
#

It's hardly forcing it

runic kraken
#

C# is eager by default, so it is pretty weird to lazily evaluate a function result outside of literally hacking mods together afaik

devout vault
#

A really common thing I do similarly is using SMAPI's PerScreen stuff

runic kraken
#

But you are modding a game, this is just a standalone application. Any normal dev would have used DI or something lol

devout vault
runic kraken
#

In Haskell line 1 could execute before line 2, or not at all if its not ever needed

#

Its why you can have infinite lists of numbers

pliant snow
#

I have moved downstairs, time for experiments

regal ingot
# pliant snow I can communicate with my wired connection if the wireless device is on the same...

well, best of luck. The only direct experience I have with vlan is in with wired (or virtually wired) connections, and all the networking hardware I have access to is either way dumber or way smarter than whatever you're using. (Not that I'd really know what to do with the high-end stuff at work, but I'm 100% certain it would support any use case you want to throw at it if you know how to configure it.)

pliant snow
#

oh no

#

I can connect to my laptop when its wired

#

so its something about the server

#

maybe its the 75 docker containers running

runic kraken
pliant snow
#

please dont be the docker containers

#

or maybe do

prisma flume
#

please be jukebox. it'd be poetic

pliant snow
#

if jukebox is breaking my new router i dont think jukebox will win that fight

devout vault
#

RIP Jukebox, Feb. 2026 - Feb. 2026

pliant snow
#

oh my god its one of the docker containers

#

let's be honest, it's going to be the one running the VPN, but we can dream it's not

prisma flume
#

i'm still betting on jukebox. the odds are good

cinder karma
#

How many hours do I need for jukebox legend

#

I will subject you to kpop for that amount of time

red crest
#

at least a couple

heavy daggerBOT
pliant snow
#

probably should turn bouncer back on at some point

devout vault
#

...probably

prisma flume
#

at some point

pliant snow
#

those apple bois need to learn their place

devout vault
pliant snow
#

I can't wait for it to be none of them, and all I had to do was clean out the crusty docker network connections

devout trellisBOT
#

He tried to silence me

pliant snow
#

get back in your box

devout trellisBOT
#

:pensive:

pliant snow
#

its not the two that i thought might be a problem

devout vault
#

Have you tried jukebox

#

What if it's a fun case like "not a specific one, but a combination of certain ones interacting/coexisting". Those are always exciting

pliant snow
#

im going in alphabetical order

#

i have, some would say, too many services

#

it is not jukebox

#

it's going to work just fine in the end

prisma flume
#

nooo...

pliant snow
#

you thought you were free

#

oh could it be syncthing

#

the last potential candidate

#

cool everything is back up, I can ssh and it's just what I wanted

#

wasn't that fun

cinder karma
#

It was syncthing?

pliant snow
#

no, it was nothing

#

cleaning out the docker network connections seemed to fix it

devout vault
#

Ah, "did you try rebooting it?"

Classic

pliant snow
#

they survive a reboot and probably weren't happy being moved to a new subnet

hushed raven
pliant snow
#

now that that works, my next task is to immediately disable it

pliant snow
#

oh this is rad

#

sketchy alarm panel previous owners set up no longer can connect to the internet or anything else, hazzah

cinder karma
#

I actually want to know my jukebox stats :(

supple ether
#

oh man I found a seriously cool-looking minecraft modpack but it's all in chinese

#

time to learn chinese I guess?

devout vault
#

Well now I'm curious, but alas, I don't know chinese

#

also I just did a double take about which server I was on

supple ether
#

I've been seeing a lot of neat chinese stuff for mc 1.12 in recent years honestly

devout vault
#

What part of "I don't know chinese" did you miss? 😔

red crest
#

Oh that does look quite cool even if I don't understand any of it

devout vault
#

(the FF translate prompt didn't pop up and I'm lazy)

#

It does

supple ether
supple ether
#

I dont know why I'm bothering to try and download it when I'm not gonna be able to understand any of the ingame text probably

devout vault
#

Clearly you need to hook up a chinese text recognition algorithm with a translation service on an overlay

supple ether
#

tbh I could probably run the lang files through google translate

#

although idk if that would affect the questbook

devout vault
#

But that's less fun

#

You gotta overengineer it

#

...or a mod that hooks into text rendering SDVPufferThink

supple ether
#

anyways I found that modpack because of this mod, which is pretty cool, although it has zero documentation right now, and some of the textures could be nicer
https://modrinth.com/mod/neoecoae

runic kraken
#

I am writing some truly unholy levels of cursed C# code and packaging it into a library so I never have to use vanilla C# again in my life

#

The fact that this builds at all is terrifying considering what I am doing to the language

supple ether
#

cursed how?

prisma flume
runic kraken
# supple ether cursed how?
public interface Traversable<M> : Functor<M>, Foldable<M>
{
    // traverse :: Applicative f => (a -> f b) -> t a -> f (t b) 
    HKT<F, HKT<M, B>> Traverse<F, A, B>(Func<A, HKT<F, B>> f, HKT<M, A> ma) where F : Applicative<F>;
}

I'll leave you with this snippet

supple ether
#

I'm not sure what any of the referenced types are but that doesn't seem so bad

runic kraken
#

I annihilated its type system and put one in place 400 times more advanced

runic kraken
sand frost
runic kraken
#

This is essentially <A><B><C>

uncut seal
#

damn

supple ether
#

it's got a lot of generics and HKT isn't descriptive but I've definitely had much deeper generic nesting and complex type constraints before

uncut seal
#

Oh I like that

runic kraken
runic kraken
#

Its a library I'm making but beware, it will make your codebase a nightmare if you don't know how it works. There be dragons, times infinity.

#

To use a metaphor, I turned a Honda Civic (C#) inside out and stuck a Singularity (HKT) inside of it

#

The code is incredibly clean, but uses type system level hacks and changing ONE thing without knowing what it does, WILL break it. Not may, WILL

supple ether
runic kraken
#

F# cannot abstract over generics of generics

supple ether
#

yes I just acknowledged that in the post you are replying to

#

did you actually read it?

runic kraken
#

I meant cry in the sense of how badly I abused the typesystem

#

Not that they dont have a functional language

runic kraken
#

@supple ether The programming warcrimes I commited against C# are functional now

#
using Catnip.Core.Control;
using Catnip.Core.Data;

class MainClass
{
    static readonly Func<string> buildString = () => "Hello world";

    static readonly IO<string> main = from _greet in IO<string>.Pure(buildString())
                                      from _ in ConsoleIO.WriteLine(_greet)
                                      from _prompt in ConsoleIO.WriteLine("What is your name?")
                                      from name in ConsoleIO.ReadLine()
                                      from __ in ConsoleIO.WriteLine(name)
                                      select "Done";

    // Stupid ape-tier wrapper to call our IO monad
    static void Main() => main.Run();
}
runic kraken
#

you can also write it normally using IO<a>, I just hijacked LINQ to act as do notation

dusty pollen
#

ugh some microcontrollers in shenzhenio only having one register is so annoying

#

even tis-100 has two for every node

cyan shadow
hardy jewel
#

@feral plume Heya, this channel isn't for Stardew talk

steel kraken
#

hiss

hardy jewel
#

all good!

little furnace
#

Are there any smart people here SDVpufferpleading

prisma flume
#

is this a personality test

little furnace
#

Is a lightswitch sentient?

prisma flume
#

is this a multiple choice question

little furnace
#

Nope.

thin estuary
dusty pollen
thin estuary
#

Yup DMs are fine

little furnace
#

Can you also DM me? I need more people in my leaderboards.

thin estuary
#

Or just add me, my profile is public, the ID is just shockah

cinder karma
thin estuary
#

Can’t wait to be completely defeated on the later levels

#

The early ones I’ve optimized to hell

dusty pollen
#

I barely even optimised the early ones lmao

#

THREE??????

three. how

thin estuary
#

are you reading the emails?

#

the non-mission ones

#

looking at the leaderboards, you should already see one of interest

dusty pollen
#

yeah, I'm going to try something from them now SDVpuffersquee

thin estuary
#

Anyway, that mission is the only one I’ve looked up to see how others optimized it, after I was done with it. Apparently 57 power is possible, but jesus, I’m not doing that

cinder karma
#

Is this shenzhen io

thin estuary
#

Yes

cinder karma
#

I'll go friend u eventually

#

No promises on playing

long verge
#

Is there anyone here using a tiling manager ?
How long did it get you to get used to it ? pepe_hmmm

devout vault
#

The only type of tiled windows I know about:

#

gets banned for being on-topic

crystal wren
#

My window manager is tiling.

#

They all tile on top of each other.

safe dragon
#

though I suppose ironically I never really liked the tiling part of tiling window managers. I don't want another window to change size because I spawned an extra one

#

the original thing I liked was just that it spawned windows maximized by default so I didn't have to deal with programs that for some reason insisted on opening any other way

#

then I started really appreciating that monitors are given their own individual workspaces instead of having all monitors share the same workspace which made anything without that like KDE or GNOME annoying

#

and then I found Niri which allows me to have just have maximized windows for everything that I can just scroll between 🙏

worn remnant
#

i'm also currently using niri, although i don't particularly care about tiling or maximizing and i'm still not sure if i'm used to it

#

the thing that sold me on niri is that workspaces are not statically defined ahead of time, so i can easily create and drop tasks as needed without keeping track or worrying about not having an open spot

#

so if i want to start a new thing, like editing an image or writing code for a particular project, i just hit a key combo for "new workspace" and i get a new one with nothing on it and i can open whatever stuff i need for that thing. and when i'm done i close them all and navigate away and the now-empty workspace disappears. it's so nice

safe dragon
#

the overview mode was a nice bonus when that got added

worn remnant
#

overview mode my beloved

safe dragon
#

I thankfully read the patch notes at the time and saw the overviw mode was added and made a good keybind for it

#

and on a laptop touchpad it's just a 4 finger swipe up

#

honestly niri is the first environment I've ever used where I feel genuinely pretty comfortable only having 1 monitor when using it on my laptop

#

the touchpad gestures are just really nice

pliant snow
#

I used hyprland off and on, and I personally just dont care for tiling managers

#

They're neat in theory, but I end up having everything full screen. Plus the WMs are so barebone you either spend ages configuring everything, or just copying someone elses config that I don't really understand, leaving me in a no better place than just using one of the big DEs

safe dragon
#

clearly it's time for you to try niri

#

😌

pliant snow
#

is it still a hassle to get gtk and qt to agree on their cursors and themes

safe dragon
#

yes

pliant snow
#

excellent

safe dragon
#

just wait till there's actually popular cosmic/iced applications and you have a third thing that needs to be styled the same way

pliant snow
#

I do hear great things about niri scrolling

safe dragon
#

it's practically made for me I am very biased towards niri

long verge
#

I recently tried Hyprland instead of KDE Plasma because I wanted to try a tiling manager but as someone mentioned having a window resized every time I open a new one is slightly annoying me.

cinder karma
#

I should try a new one but it comes straight into the old problem

long verge
#

I really like the customisation tho SDVpufferwaaah

cinder karma
#

If I like it I cant get work to adopt it

#

And I'm like

cinder karma
#

95% of my computer time is working

crystal wren
cinder karma
#

Hi DH

#

Same thing with my desire to have a better keyboard

safe dragon
#

they're all just underneath each other and you have to alt tab to the right one

devout vault
#

Are they even maximized if they don't take up the whole screen

safe dragon
#

or use the funky taskbar application menu shortcuts

#

they do take up the whole screen

#

ignoring the taskbar I suppose

#

it's not fullscreen, just maximized

cinder karma
#

Tbh I would love a tiling windows manager

#

Right now I have literally tens of different terminals open

#

Many with vim in them

safe dragon
#

no tmux?

cinder karma
#

Many with different tabs

devout vault
#

The mac terminal supports tabs. I assume plenty of others do too

#

Oh

cinder karma
#

I have five or so Cadence windows and I keep losing one of them

long verge
long verge
cinder karma
#

Crumble I'm old we use screen

long verge
#

Distro hoping ❌
DE hoping ✅

safe dragon
#

ah good ol screen

#

I used that when I had a minecraft server running on my home server

cinder karma
pliant snow
#

screen? We use tmux please

safe dragon
#

(screenshot of the overview mode)
Had to pick some content that didn't dox me. Pretend the file browser is Signal or another messaging app.
I like having "related" application types on the same workspace and then other types of applications on their own workspaces

cinder karma
#

What i really want is someone to yell the cadence windows into submission tbh

safe dragon
#

thankfully I don't even know what cadence is

devout vault
#

Cadence is the protagonist from Crypt of the Necrodancer

#

(and the zelda spinoff)

safe dragon
devout vault
#

...honestly it still baffles me how they managed to get a partnership for a crossover game with a main nintendo IP

safe dragon
#

it be like that sometimes

#

I didn't exactly expect undertale in super smash bros either

devout vault
#

True. Though as neat as that is, I consider a cosmetic DLC of an indie game a tier below an indie dev making an entire crossover game with their own IP, officially

safe dragon
#

understandable

devout vault
#

VS 2026 has been updating itself each time I close it lately, and I feel like the solution explorer got changed?

#

Like it feels like each row has more padding now

#

Which means I can see less at once

#

Wait, let me check something

#

Okay yeah

#

Here's 2026 right now

#

And here's 20222, which I think was what 2026 was like a few days ago, unless I just didn't notice this until now

rain apex
#

20222 future tech...

devout vault
#

Can see 7 more entries in 2022

devout vault
safe dragon
#

I think we need even more padding

dusty pollen
#

why is this microcontroller not waking up from this slx instruction 😭 (shenzhen io, not actual microcontroller SDVkrobusgiggle)

#

oh that's not even the issue, it's just freezing on instruction 1 the whateverth time around for some reason

cinder karma
#

If i play the game we need to play "shenzio or irl"

#

Btw iro this is why I asked u about balatro on mobile

long verge
#

Balance expires ????

safe dragon
#

sorry ur money is temporary

#

please spend it

#

ur salary will be returned to the company after 6 months if not spent

cinder karma
#

Oh dear

dusty pollen
#

I fixed it but I can't remember how SDVkrobusgiggle

thin estuary
#

ah there we go, you beat me in line count

dusty pollen
#

oh right it was that something we mentioned earlier behaves weirdly in the debugger SDVkrobusgiggle (the puzzle before that one)

thin estuary
#

it does? i have not seen any weird debugger behavior

dusty pollen
#

I was ONE line away from not needing another microcontroller in the one you just mentioned 😭

#

spoilers -> ||gen visually moves on to the next instruction before it finishes blocking so the next instruction appears to block||

thin estuary
#

ah

#

i guess i have never debugged that instruction

#

i just let it rip

#

and tbh i was having a hard time finding use for it in later levels

#

i have yet to come back to the extra levels though...

dusty pollen
#

I think debugger is the wrong term, just the visual display haha

thin estuary
#

because i needed that second register

#

actually... maybe i don't...

#

damn all of this for -1 power, same cost, same line count

devout vault
prisma flume
#

so is 2026 worth using, or is it just another cumulative performance cost hike justified by value -added bloatware and ai integrations

safe dragon
#

idk the syntax highlighting has been noticeably slower for me strangely

#

I've experienced zero positive changes

#

beyond being the only version that supports .NET 10

crystal wren
#

In my very brief tests of it, it DOES seem a bit smoother?

#

Emphasis: very brief.

prisma flume
#

it looks like they made it visually in the style of jetbrains. and with ? improvements ?

#

i place this judgement solely on the image of buffs

cinder karma
#

I'm returning it for a second copy of 1999

prisma flume
#

maybe code::blocks had the right idea. live in the past

crystal wren
#

Yeah, JetBrains have gone very rounded with the newest theme stuff as well...

prisma flume
#

how about you copy the visual clarity and comfortable functionality of visual studio CODE you dogs

#

naefnsaf'

crystal wren
#

And Code::Blocks? Nah, Dev-C++ is where it's at.

prisma flume
#

vscode is such a surprisingly slick and usable ms product (endless ai integrations aside) and i can't figure why they'd want to look at their competitors' homework when they have a perfectly good product right here

#

honestly no complaints with vscode. does exactly what it needs to do for my job

devout vault
prisma flume
#

ground-breaking.

devout vault
#

(Seems slightly better at the moment, maybe they fixed it being bad for large files)

cinder karma
#

I loved vscode for Rust tbh

runic kraken
#

I think I am the first person in the world to ever see an error message as cursed as this

devout vault
#

I've definitely seen worse

runic kraken
#

I figured it out though, C# is garbage and has a worse type system than my toy language I wrote 2 years so I needed to introduce another layer of indirection

devout vault
#

Both in the sense of "haha C++ template errors go brrr", and "Type SomeThing is not castable to SomeThing" (or other similar cases when they look equivalent but aren't because of assembly (in the .net sense) manipulation reasons)

runic kraken
#

Hindley-Milner smokes C# in most ways, aside from subtyping and function overloading (which is a stupid habit anyway)

prisma flume
#

logically, we can assume that c# is not garbage, because it would have been collected by now

devout vault
#

so true, blueberry

safe dragon
#

nah there's lingering references

#

while I don't agree with the things you're trying to do it is kind of fascinating in a way to see you try so hard to turn C# into just a completely different language from entirely different programming paradigm

runic kraken
#

I broke every rule and probably made the clean code guy want to nuclear strike my house but I forcefully put monads into C#

steel kraken
#

to be fair the clean code guy should be ignored at all times anyway

runic kraken
devout vault
#

I don't quite understand why you wouldn't just write another .net language, rather than forcing it on C#

#

Like normally I'd understand because its tons of work to do that, but you're literally already making a programming language

safe dragon
#

and yeah clean code guy is my archnemesis

runic kraken
#

Because I found enjoyment in breaking a type system

devout vault
#

I'm all for doing insane code things because its fun... but that doesn't mean the original system is garbage

runic kraken
#

My language will naturally be able to express * -> * -> *

runic kraken
#

Now I'm not gonna fully use my cursed library, but I can incorporate bits of it to make error handling not feel like the stone age

safe dragon
#

good luck with that

runic kraken
#

wdym

#

I've basically done it

#

If someone wants to look at the code, they need to be intelligent enough to know what a monad is so it keeps idiot junior devs away which is a win/win

#

But I probably won't use it for IO, I just did that for the lols

terse galleon
#

i feel like you could explore this for fun in a way that doesn't insult people and the systems they choose to use/know

prisma flume
#

if those c# users knew what monads were they'd be very upset

runic kraken
#

If you got insulted by me just stating that I don't want junior developers who have no idea what they're doing working on my codebase, that's your decision. I never pointed names

terse galleon
#

alright bye

steel kraken
#

Being different from convention doesn't mean better

runic kraken
#

By definition, this is better because you don't have to have a billion try/catches, it's exactly what rust does

#

I just implemented the whole shebang for the challenge of it

steel kraken
#

A personal goal I have is to write code a first year student would understand, because good code should be readable.
That, and the code should be troubleshootable at 3am after being waken up by alarms

runic kraken
#

I would never dumb myself down to that ability

#

If someone can't understand my code, that is on them

steel kraken
#

good luck getting a job then

prisma flume
#

chibiusa would never say that

dusty pollen
#

the best code imo is the kind that reads as being so simple it’s obvious/boring

#

that way you can see exactly what happens and it’s maintainable

runic kraken
#

This is so simple it's boring. You do the hard math once, and then just pass results around and match on them

#

If something is Just(5), you extract 5, do something with it and then return a new value

If something is Nothing, you do nothing

prisma flume
#

conceptually simple yes, but readability (and in turn maintainability) is still a pillar of language design

supple ether
runic kraken
devout vault
#

Someone not knowing what a monad is doesn't make them unintelligent or a junior developer

prisma flume
#

chibiusa would definitely say that

steel kraken
#

I see complexity as a budget.
and you don't want to spend it on the small shit because then you run out before you get to the important parts.
so keeping 80% of the codebase as simple as possible lets you splurge where it matters

dusty pollen
#

oooo I like that

prisma flume
#

in a good way

supple ether
runic kraken
#

If I got a job it would probably be working on some cryptocurrency in Haskell or something financial in ML, I'm too far ahead of anything C#/Java

prisma flume
#

why 'if'

runic kraken
#

Because I'm not employed rn, and it's a nightmare to find one

#

I'm a junior with the skills of a senior because I've self taught myself over the past 12+ years

dusty pollen
#

tbh I feel like most of my self teaching was good for writing code but didn’t help me with writing CORPORATE code

supple ether
supple ether
safe dragon
steel kraken
#

Java iirc is still fairly exception heavy, and early C# followed suit, but over the years C# has moved over to patterns like TryGet and other patterns to keep exceptions exceptional due to their performance overhead

safe dragon
#

I made some fried eggs I'm back

runic kraken
#

You could not pay me enough to write Java code

#

Even for a million dollars I wouldn't do it

safe dragon
#

don't worry, they wouldn't to begin with

supple ether
#

I don't like java but it's still better than retail

terse galleon
#

would you like to sacrifice your pride or your body 🙂‍↕️

runic kraken
#

Now I hate Go, but I can rationalize that as "This language sucks so much that I'll never touch it in my life by choice" and will never ever mix work and hobbies because of this

dusty pollen
safe dragon
#

if you treat anyone in that field like they're some inferior intellect creatures that can be disregarded I don't think they would want you as a colleague to begin with

devout vault
prisma flume
heavy daggerBOT
#
rain apex
#

Something i always wondered about functional programming things is the abstraction cost

prisma flume
#

honestly i feel like i'm mostly at my current job because my coworkers apparently find me and my code easy to work with rather than because i'm capable of producing extremely efficient typescript at lightning speed

safe dragon
#

btw. You can be the most advanced ascended programmer that has ever walked this earth but if you can't get along with people at varying skill levels you're not surviving your first year at any job if you even manage to get through the interview

prisma flume
#

specialists are needed for high-performance long-term systems of course, but your average programming job is really closer to stacking shelves with a keyboard

supple ether
#

Lol

rain apex
#

Is it closer or farther away from the things modern cpu architecture is designed for bolbwut

dusty pollen
#

further!

#

haskell is NOT very efficient and considered higher level than most imperative and oop languages

rain apex
# dusty pollen further!

That's my intuition yes, but is it theoretically possible to make a cpu arch that's more functional programming

supple ether
devout vault
rain apex
#

Or is it just not something one can realistically do

safe dragon
#

well I mean they're not exactly known for high performance to begin with. Immutable programming as a whole is not a concept designed for high performance applications. It's more so designed for correctness where performance is secondary

runic kraken
#

I'll probably end up looking for jobs in Go because I hate the language so much that I'd never be tempted to use it for anything but work, and I could write it while sleep deprived and still write better code than 100% of juniors

prisma flume
#

and my boss especially loves me for onboarding the newbies at the office so you can consider caring for the junior devs a bonus haha

safe dragon
#

golang generics are going to give you nightmares if you don't like C#'s ones

runic kraken
#

Yes that's the point

#

I want it to be so garbage that I never feel the need to want to use it

#

So I can purely separate work and hobby

safe dragon
#

we already invented visual basic for applications for that

runic kraken
#

C# is mostly a nice language, it just has annoyances like error handling. Go has zero redeeming qualities

safe dragon
#

now that's a language no one would ever choose to use outside of employment

prisma flume
#

i'm sure we have some vb hobbyists in the woodwork

rain apex
#

Just learn COBOL ez

runic kraken
#

My shitty toy language (before I abandoned it), had generics 3 years before go

safe dragon
#

most things had generics before go. Go effectively added generics out of spite after years of saying they didn't want them

runic kraken
#

Yeah but if a single girl in her room can add generics in a few days, there is no excuse why it took them this long

safe dragon
#

clearly you've never tried to convince a massive corporation worth number of people on a design decision

runic kraken
#

Aside from literal ape tier thinking

supple ether
#

While I understand the allure of placing your own value into your perceived intellect, because it means you aren't vulnerable to others, it will ultimately isolate you. Being kind will get you further in life, and will make you more friends.

steel kraken
#

Javascript was famously made in a week, doesn't mean what they made in that week was good

runic kraken
#

I dont need people to like me, I dont thrive on being a social creature

rain apex
#

Imagine having types when u can just have magic knowledge of what's inside this void * 😌

supple ether
#

If that were true, you wouldn't be in here bragging about your genius

runic kraken
terse galleon
devout vault
rain apex
#

In the rust thing im on we have to use crate with bunch of unsafe nonsense just to have the ability to load rust to rust dynamic libraries MitsuhideEhh

runic kraken
#

It took me 2 weeks to write that type system and that was my first time doing it

red crest
#

If a conversation can not be had without insulting anyone (present in this channel or sweeping generalization or otherwise), then the conversation is not appropriate here. This reminder goes to everyone here to please keep things civil and polite regardless of who (or what!) they're talking about, or the topic will need to be moved on from.

runic kraken
#

I could probably have the exact same thing done in less time now I understand the math

safe dragon
#

tbh javascript is more so explained by what came after that week. Essentially just them adding random shit from whoever asked for a new feature with little regard for what that meant longterm

ivory shadow
steel kraken
#

Javascript is a fun case study, and the various efforts over the years to tame it, the failed EMCAScript 4 spec which in many ways created ActionScript for Adobe Flash.

safe dragon
#

I actually sent [] == '' to a coleaggue today after he tried to show some weird equality statements

runic kraken
#

There is a difference

runic kraken
steel kraken
#

Javascript much like PHP are the successes they are today because they are accessible

ivory shadow
supple ether
prisma flume
#

trick question. you are ALL object Object

long verge
ivory shadow
#

Not if I have a toString() function I'm not

devout vault
safe dragon
devout vault
safe dragon
#

since what javascript does when it is given different types is to just turn both into a string and compare em that way

devout vault
#

I just looked up Scheme. (Heard of it before, never looked into it or at least retained it) Yeah, glad we don't have that for web.

terse galleon
#

i want so badly to react with springobjects.png emoji

safe dragon
#

isn't Scheme a lisp

#

it do be a lisp

devout vault
#

At first I thought "wait I thought Lisp was the (((((parenthetical))))) one", but

runic kraken
supple ether
#

So here's the real question

devout vault
#

If nobody can get into a restaurant to eat, can you even call it a restaurant?

supple ether
#

If you had to choose between js and python for web scripting, which would you pick

runic kraken
supple ether
#

Let's toss lua in there too

rain apex
#

Where do u need it

runic kraken
steel kraken
#

Typescript is only useful because it is javascript

rain apex
safe dragon
#

it do be a nice type system

ivory shadow
#

One of these years maybe web assembly won't suck anymore

devout vault
#

gotta go get dinner now

steel kraken
#

Or more specifically, Typescript is only useful because it maps down to type agnostic languages which lets typescript types care about the theory and not need to have memory structures as a bottleneck

long verge
supple ether
#

You'd still need js to interface though

prisma flume
#

ah yes, the c family. c, cpp, c#, and css

runic kraken
#

Python has virtually no type system, but more consistent behaviour than JS

JS has the ultimate sin of trying to "guess what you mean" and perform stupid type conversions, so they had to add ===

Typescript on the other hand enforces types, and Scheme is a logically consistent, functional programming language

terse galleon
#

at my workplace (C#) i'd say it's 90% people passing around old code to improve upon/modify, and only 10% actually writing new programs. knowing wtf your coworkers are doing is essential to functioning

safe dragon
supple ether
#

Well my break is ending so I will see you all later

long verge
ivory shadow
#

I was going to say, nothing says efficient like building a separate conflicting layout engine directly on top of an existing layout engine
Edit: Thought I clicked to reply to Crumble's screenshot

runic kraken
#

Or DI, don't even get me started on DI

heavy daggerBOT
steel kraken
prisma flume
dusty pollen
prisma flume
#

i've missed some lore

#

c... obol

safe dragon
#

an important one

terse galleon
#

i just know from coworkers talking about what they do

ivory shadow
#

caml exists.

#

I'm working on one called Chord.

#

The C family truly is vast.

crystal wren
steel kraken
#

speaking of admin, I'll have to drop off, I have 6 hours of fighting with kubernetes starting in 10min

safe dragon
#

Clojure is my favorite C family language

crystal wren
#

I'll let myself out.

runic kraken
#

Clojure is interesting

#

Haven't used it much

safe dragon
ivory shadow
#

They should've called it cubernetes so we could put it on the list of "computer stuff starting with C". They really missed out.

safe dragon
#

it's ok

prisma flume
#

cOMPUTER

steel kraken
#

If it was simply helm charts it wouldn't be 6 hours.

its doing 6 hours of adhoc patches on top of what the helm chart made because different teams and responsibilities

safe dragon
#

but no one has mentioned the most used C family language in the world

#

Chinese

ivory shadow
#

You win this round... Crumble

safe dragon
#

oh no

prisma flume
#

khlobernetes

rain apex
#

Crumble was an industry plant

safe dragon
#

I've been found out

cursive sigil
#

Hey khloe have you considered changing the spelling of your name

rain apex
#

Furthering schemes of big C

safe dragon
#

working on C-Sharpest to take over the world

terse galleon
long verge
ivory shadow
#

Oh no it's the combined community codec pack

red crest
rain apex
#

Just steal ppl's tickets n do them trust!

cursive sigil
#

No one will know

terse galleon
#

genuinely learning it as a hobby i'm like one day. one day i'll be good enough to bug [coworker] into letting me shadow him

prisma flume
#

be sure to add 'years of experience data modelling in a fast-paced c# environment' to your resume first (doing json in #making-mods)

steel kraken
#

btw as part of troubleshooting I did have to learn some basic cql, so add another c language to your list

red crest
#

I don't have cubicles

terse galleon
steel kraken
#

when I first started some others had cubicles but everyone else lost them like 8 months later when we got relocated into the main building

red crest
prisma flume
#

Yes Definitely

red crest
#

Thank You

runic kraken
steel kraken
#

half of my resume references were people in the dota modding community

runic kraken
#

It was basically used as Haskells intermediate bytecode

steel kraken
#

mainly as they had fancy day jobs in addition to their work in modding

terse galleon
#

i'd actually love to become a trainer because i like teaching people but the only training position we have is for Relativity

safe dragon
#

I've never put a reference on my resume

runic kraken
terse galleon
#

it's a database system

#

i'm on a contract to the FDIC

#

very important high level government job trust 🙂‍↕️ /j

safe dragon
#

Relativity, also something closely associated with the constant c

#

it all comes back to C

terse galleon
#

it's all coming together

rain apex
#

©

prisma flume
#

really i should be programming in B for the brand representation

terse galleon
#

🅱️lueberry when

steel kraken
#

I do remember some people in the early days of minecraft custom development were using D

safe dragon
#

you can only program in a language that either your real name or your most common online username starts with

ivory shadow
#

Gonna make my own language, C**, which is nothing but pointer operations for literally everything and designed for the sole purpose of confusing people.

safe dragon
rain apex
#

I use fira code (font) and when u do *** it bunches them up

steel kraken
#

I'd rather not use scala though

prisma flume
#

aha now i know you (checks notes) victoria

red crest
#

... Brainfuck?

rain apex
#

Makes me wonder what language is seriously using 3 asterisks in a row

safe dragon
#

There's Beef if you prefer

red crest
#

I'm trying to cut down on meat

steel kraken
#

I'm open to doing stupid shit in SQL though and abusing stored func to write the application entirely in sql

prisma flume
#

is there some comprehensive list of single-letter programming languages

ivory shadow
prisma flume
#

i'm surprised to find E and G

red crest
#

I guess if we go by my full legal username I would also be S. Or if we went by my first real name... I would also be S.

safe dragon
#

well damn

#

guess you're learning Scheme

steel kraken
#

would probably enjoy sql more than scheme personally

red crest
#

I'm more familiar with SQL let's go with that

rain apex
safe dragon
#

thankfully thanks to my real name starting with a V I can program in Verse, the fortnite programming language

#

created by the person who designed haskell

red crest
#

Oh I forgot there's also basic for B, duh. Swift for S, as well, or Scratch...

safe dragon
#

Swift is probably your best bet

terse galleon
#

fascinated by NXC and NQC

safe dragon
#

NQC is an array probably language I think

steel kraken
#

didn't someone write minecraft in scratch

red crest
#

Time to make SMAPI (Swift Modding API)

safe dragon
#

oh it's not

steel kraken
#

though it needed a fancy accelerator runtime for it to actually work

safe dragon
#

wtf

#

oh I was confusing it with BQN

#

that's an array programming language

terse galleon
#

you will never fucking guess what NQC redirects to

#

Lego Mindstorms (sometimes stylized as LEGO MINDSTORMS) is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022.
Mindstorms kits allow users to build creations that interact with the physical world. All Mindstorms kits consist of ...

safe dragon
#

that's where programming peaked

long verge
#

it's discontinued

safe dragon
#

I'm jealous of the lucky folks with a name starting with U so they can program in Uiua

#

is this not the dream

devout vault
safe dragon
#

after Chinese I assume

devout vault
#

despite whatever the heck a reified is support to be

ivory shadow
#

reified is mainly there so I can port Roslyn without putting even more thought into porting Roslyn