#πŸͺ…-progaming

1 messages Β· Page 113 of 1

frosty skiff
#

getting around it wasnt difficult

#

looking at a player then simulating a click via glfw isnt difficult

supple whale
#

yeah

#

its just a nice low-effort way of filtering out most doggy cheats

frosty skiff
#

yea

supple whale
#

you wont be detecting vape's hit sync anyways

#

so might as well jsut go for the low hanging fruit

frosty skiff
#

I mean vapes clicker & a lot more are still detected

#

noting how their randomisation works is quite basic

#

best way to avoid getting banned is to introduce click recording

supple whale
frosty skiff
#

its how a lot of old clickers did it cuz servers like elevate and similar had actual good anticheats

supple whale
#

you need a LOT of VERY long term herustics for it

#

like what uuuuh

frosty skiff
supple whale
#

minemen was doing

frosty skiff
shrewd canopy
#

maybe i should go few steps ahead and make kernel-level anticheat for minecraft

frosty skiff
#

πŸ’€

supple whale
#

my fav is banning with resourcepacks

frosty skiff
#

I've done a lot of stuff with dma

supple whale
#

b4 ban give a cheater a server resourcepack

#

have them dl it

#

ban them

frosty skiff
#

why 😭

supple whale
#

on each user join ask "do you have X resourcepack", if they reply with yes [automatically done when u have the resourcepack hash downloaded], you instaban for alint

shrewd canopy
supple whale
#

across VPNs, accounts etc

frosty skiff
supple whale
#

sure, but this was way more fun XD

frosty skiff
#

I guess

shrewd canopy
#

what would resourcepack do here

frosty skiff
#

i know on lunarclient they do atleast

supple whale
# shrewd canopy whar

server resourcepacks download to your pc, so if you get a unique resourcepack that's unique to people that cheated, then on each user join ask them "hey do you have this rp hash downloaded" they say yes, that means they got banned before and are alting

shrewd canopy
#

oh

#

that seems easy to bypass (clean cache)

supple whale
#

dude it took sooooooo long for people to catch on

supple whale
#

almost no servers do this

#

afaik its unique to the one brazilian server i sold this to XD

frosty skiff
#

eh

#

I know a server or 2 that does similar but even better

supple whale
#

this was for 1.8

frosty skiff
#

when you switch alts on a lot of alt switchers, when you dwnld the rp from the server, it still uses the same uuid that you launched the game with

supple whale
#

so it was quite novel for its days

frosty skiff
#

so if you changed ur acc after u got banned, it'd send the banned uuid to the server on an unbanned acc when u dwnld the pack

supple whale
#

but

#

the UUID is the resource pack hash

#

which is dumped on disconnect

#

or did the network protocol change

frosty skiff
#

it sends your MC uuid

supple whale
#

oh yeah i see

#

thats new

#

man that'd make my life a lot easier.... ;-;

supple whale
#

the resourcepack add packet is clientbound

#

not serverbound

#

the serverbound is the response of the status

#

so it hasnt changed

#

it must be something else, not resource pack related

#

god this page got LONG

#

also a LOT of cheats dont send the statistics packets when doing a lot of interactions

#

so tracking those is fun

#

shit like fake jumps, fake attacks, fake sprinting etc

lavish frigate
#

how would you guys implement a self-updating exe

supple whale
#

god i do not miss minecraft client and server modding

rustic turret
limpid mica
#

most filesystems can do this

#
  1. download update as program.exe.new
  2. delete program.exe.old if it already exists
  3. rename program.exe to program.exe.old
  4. rename program.exe.new to program.exe
  5. restart program
lavish frigate
#

i know of one quite popular operating system that doesnt let applications rename themselves

lavish frigate
#

windows locks the file while its running, disallowing modifications (including rename)

frosty skiff
#

why dont u just close the handle

#

u should be able to then

pseudo sierra
supple whale
#

oh shit, AI bubble is bursting rapidly this week

lavish frigate
ionic lake
#

ya

#

cant wait for all those "ai will replace programmers" sheeps to go hide

lavish frigate
#

was more so asking in case there is a better way to do this

limpid mica
frosty skiff
#

yea launcher is a good idea

lavish frigate
#

i dont think so, its a cli tool so yeah just has a built in function to self-update
ill embed a script

deft pollen
#

yo culd u check dm plsss

nimble bone
deft pollen
valid jetty
supple whale
#

holy

#

if some1 ever shows me an UML diagriam

#

first thing i'm doing is kicking them in the nuts

#

then leaving the room and not coming back

valid jetty
#

oh i may be stupid

frosty obsidian
# valid jetty

i would personally still classify a contractor as an employee for simplicity

#

would just be one type of employee

valid jetty
#

thank you zoot

#

now the code is all fixed

frosty obsidian
#

im real

royal nymph
#
countries:
    - de
    - us
    - uk
    - no
    - au
nimble bone
unkempt ember
unkempt ember
#

Oh, I'm gonna steal that in my local music files.

#

Too late.

jade stone
royal nymph
unkempt ember
#

According to the documentation :

safe_load(stream) parses the given stream and returns a Python object constructed from for the first document in the stream. If there are no documents in the stream, it returns None. safe_load recognizes only standard YAML tags and cannot construct an arbitrary Python object.

source : https://pyyaml.org/wiki/PyYAMLDocumentation

fleet cedar
abstract fulcrum
nimble bone
#

^ called Green Day slop

#

paige will call anyone who ever charted on hot100 slop

tired vigil
#

Iirc discord shows a transparent layer for trapping mouse events when scrolling, so even if the mouse position on page doesn't update it can hide the hover effects

jade stone
#

haven't tested webkit

tired vigil
jade stone
#

with my mouse off the desk

tired vigil
#

It still keeps the old color, it just updates when you stop scrolling

jade stone
#

but with chromium it doesn't update until the next time the mouse is moved

tired vigil
#

The container listens for scroll events, and after a specific threshold it shows a div with position:absolute;inset:0;z-index:999; (or something like that) until you stop scrolling

#

Or just pointer-events:none on the children

jade stone
#

time to steal discord code toll

tired vigil
jade stone
tired vigil
jade stone
#

it's unused

tired vigil
#

Lmao

jade stone
#

this is the one that's used

tired vigil
#

It could be a lazy module that hasn't loaded yet maybe idk

jade stone
tired vigil
#

Better performance for initial chunk indexing in dev companion when

jade stone
#

i didn't know people actually used it 😭

tired vigil
#

Stealing ur worktree rn

tired vigil
jade stone
#

i'm also working on an explorer for flux events

jade stone
tired vigil
tired vigil
jade stone
jade stone
#

i want to seperate this from the vscode extension so i can use it in other projects

#

(making discord code explorer web interface)

jade stone
tired vigil
#

that would be so epic

jade stone
weak charm
#

Just started coded for the first time on an actual python program. is it good?

weak charm
#

-# PS "Clear" does not work for some reason

ionic lake
#

take params

weak charm
#

I don't know what that is, I'm new to coding

ionic lake
#

you are learning from somewhere?

shrewd canopy
weak charm
ionic lake
#

learn about taking parameters in a function

#

then you don't repeat yourself by making functions for each digit, you make one function and then give it the digit you want

weak charm
lavish frigate
#

😭😭😭😭

neon tartan
#

how exactly do I use gateway logging to see what's being sent

shrewd canopy
neon tartan
#

I have these enabled, what is verbose logging tho?

#

where do I enable it I mean

#

been looking for it

shrewd canopy
neon tartan
#

oh thanks

neon tartan
#

like I'm trying to get the op 2 payload

#

to see what discord sends for identify

shrewd canopy
#

right click the object

neon tartan
#

then?

shrewd canopy
#

the object specifically

neon tartan
#

OH

#

I'm dumb lmao

#

thanks so much!!!

lament bay
#

lmao

frosty obsidian
neon tartan
#

but I wanted to see the exact identify payload the client sends

#

thanks regardless ^^

lavish frigate
dense sand
#

wyndows

lavish frigate
#

windows cuz i cant stop winning

jade stone
#

this feels cursed

export type OutgoingMessage = Base<Report | DiffModule | ExtractModule | ModuleList | RawId | I18nValue | VersionResponse>;
export type FullOutgoingMessage = OutgoingMessage & Nonce;

export type Base<T> = ({
    ok: true;
} & T) | ({
    ok: false;
    data: null;
    error: string;
} & Omit<T, "data">);
deep mulch
#

evil

jade stone
#

how does typescript not infer this as a never return type

supple whale
#

TS lang server doesnt handle errors

#

like at all

supple whale
#

typescript!

#

there's so much high quality fuckery in this one

jade stone
supple whale
#

... jesus bro seriously?

#

is that an unironic statement?

winged mantle
fleet cedar
#

Is that even defined in the spec?

#

I thought the order of such things was implementation defined

winged mantle
#

this isn't c..

supple whale
jade stone
#

wait do i not understand how twitter polls work

supple whale
#

X D

supple whale
#

its all in the spec

#

but its so horrendously complex no1 actually knows it

winged mantle
#

i suspected Promise.resolve would return some kind of dummy promise tbh

supple whale
#

it returns an actual promise

#

people dont understand microtasks, and promise chainign is turbo funky

#

because it actually does promise, microtask, promise

#

since the 2nd promise .then is only scheduled after the first microtask

jade stone
supple whale
#

because Promise<Promise<Type>> !== Promise<Type>

#

which is an unhinged statement

jade stone
supple whale
#

because Promise<Promise<Type>> takes 2 microtasks to resolve, and Promise<Type> only takes 1 microtask to resolve

#

which is why

Promise.resolve()
    .then(() => {
        console.log("Promise 1")
    })
    .then(() => {
        console.log("Promise 2");
    })


queueMicrotask(() => {
    console.log("microtask")
})

resolves as Promise1, microtask, Promise2

#

JAVASCRIPT!

#

yes I've ran into this problem, yes i wasted MANY hours

#

and setTimeout(cb) without a number is even more crazy

winged mantle
#

i usually don't rely on obscure promise behaviours blobcatcozy

jade stone
supple whale
#

because most of the time its 0

#

but there are cases when its 4

winged mantle
jade stone
supple whale
#

or was 0 === 4ms

#

hm i'd need to check

#

i remember this was a massive problem around chrome60

winged mantle
#

been working on designing syntax again blobcatcozy
do not let me cook

supple whale
#

which is what tvOS is using

winged mantle
#

(I still haven't finished my parser)

supple whale
#

and where i found that problem originally

jade stone
#

insane

#

just use 0x, 0o and 0b like a normal person

winged mantle
#

i took inspiration from asm

jade stone
#

hop off

winged mantle
#

the idea with arrow function is for anonymous functions instead of needing to do func () { return 0 } you can just do func () -> 0

#

is that genius

#

but not allowed for non anonymous functions because then code will look like kotlin

supple whale
#

its 4ms

#

but there was a bug now fixed, where not defiend was treated as 1

#

instead of 4

#

which is also why the most popular process.nextTick polyfill nukes performance in browsers

#

because instead of being a microtask

#

aka microseconds

#

its 4ms...

#

so a few thousand times slower

#

:)))))

#

oh shit they changed it!

#

only for deeply nested timers it happens, damn my info outdated

supple whale
#

it comes when it wants πŸ™‚

valid jetty
#

i had that in elle for a little bit

#

then i moved to just getting rid of it

#

func () 0

#

func (int x, int y) x + y

frosty skiff
#

rendering spotify album covers in minecraft

#

without using spotify api

#

or lastfm api

#

or similar

jade stone
#

FEAR

frosty skiff
jade stone
frosty skiff
#

i hate windows

#

basically

#

doing it through the windows media control api

#

which is like

deep mulch
#

HORROR

frosty skiff
#

__x_ABI_CWindows_CMedia_CControl_CIGlobalSystemMediaTransportControlsSessionManagerStatics

#

πŸ€‘

nimble bone
#

i wanted to do this in vencord but can i call c apis in js

#

@jade stone

frosty skiff
#

bun ffi

#

$$

nimble bone
#

do i look like a buntard

nimble bone
#

okay yes i do

frosty skiff
#

they should cosnider making stuff shorter maybe

crude star
#

on nodejs side

jade stone
#

have fun w/ that

deep mulch
#

@jade stone SALADDD 😭

jade stone
#

hi

royal nymph
jade stone
pearl stagBOT
jade stone
#

@nimble bone

frosty obsidian
#

kys

jade stone
deep mulch
#

wing has gotten mean and grumpy in his old age

jade stone
#

@deep mulch publish typescript as esm so it can be tree-shaken

tired vigil
#

Ill check it out once I'm home

jade stone
#

how has nobody ran into this lol

#

it does ignore normal typescript syntax

tired vigil
#

Why are you passing this as an argument πŸ’€

#

Wait is that just the type def for a method

stark timber
#

why does the top one work but the bottom one doesn't

valid jetty
#

because you cant pass an object like that

#

consider:

children.push(React.createElement(Route, { key, path: route, element: <Component /> }));
stark timber
#

ohh

valid jetty
#

you cannot pass state by just calling the function

stark timber
#

no that's why I'm saying

#

the top one works

crude star
#

other way rosie

valid jetty
#

oh hmm

#

wait thats freaky

stark timber
#

it's probably a problem with how I do lazy components

#

but I can't figure it out

valid jetty
#

is Route a lazy component

stark timber
#

and I confirmed it's loaded by the time it's called there

#

I'm 99% sure

valid jetty
#

is children being passed to the Routes component? (im assuming this is a react router thing?)

stark timber
stark timber
#

so it should work

stark timber
valid jetty
#

im so confused on why the first one works

#

if Route has any hooks that will totally fucking fail

valid jetty
#

i wonder

#

if you pass () => <Route {...} /> would that work

#

just throwing shit at the wall to see what sticks

stark timber
#

it doesn't crash anymore

#

but it doesn't register the page correctly

valid jetty
#

hmmmmmmm

stark timber
#

just empty

valid jetty
#

hold on how do i register routes in my extensions

stark timber
#

this is pre-rewrite btw

#

same patch location

#

and this works

valid jetty
#

ummm this is what i do ```ts
const React = await lazyDefine(
() => modules.common.React,
r => typeof r.useContext === 'function' && typeof r.createElement === 'function'
);

const unpatch = patcher.after('useContext', React, (_, res: typeof azalea.navigation) => {
if (res && res.router && res.navigator) {
logger.info('Assigning azalea.navigation...');
azalea.navigation = res;

    const routeItems = Object.values(items)
        .filter(item => item.Route)
        .map(item => new item.Route()) satisfies RouteItem[];

    // Add each route to the routes if it hasn't been added already
    for (const route of routeItems) {
        if (!res.router.routes[0].children.find(x => x.path === route.path)) {
            res.router.routes[0].children.push({
                path: route.path,
                element: (
                    // eslint-disable-next-line react/no-children-prop
                    React.createElement('div', {
                        style: {
                            background: 'var(--palette-light-grey)',
                            height: '100%',
                            overflowY: 'auto'
                        },
                        children: React.createElement(route.component)
                    })
                ),
                hasErrorBoundary: false,
                children: undefined,
                id: `0-${res.router.routes[0].children.length}`
            });
        }
    }

    res.router._internalSetRoutes(res.router.routes);
    logger.info('Successfully configured Azalea\'s Routes!');
    unpatch();
}

});

stark timber
#

yea that code is rly bad

#

lol

valid jetty
#

maybe it doesnt actually want a reactnode

#

maybe it wants an object

stark timber
#

it gets one

valid jetty
#

well

valid jetty
#
{
    path: route.path,
    element: (
        // eslint-disable-next-line react/no-children-prop
        React.createElement('div', {
            style: {
                background: 'var(--palette-light-grey)',
                height: '100%',
                overflowY: 'auto'
            },
            children: React.createElement(route.component)
        })
    ),
    hasErrorBoundary: false,
    children: undefined,
    id: `0-${res.router.routes[0].children.length}`
}
``` this
stark timber
#

I will show u children array

#

this is with the thing that crashes

#

at 2 is a legit one and at 3 is an injected one

#

ok

valid jetty
#

youre creating Component not Route for the 3rd one btw

stark timber
#

oh

#

my bad

valid jetty
#

that makes sense though

#

because of js lexical scopes and whatnot

stark timber
#

it's the same

valid jetty
#

arrow function this passthrough etc

stark timber
valid jetty
#

yeah that makes more sense

#

SymboL ??????

stark timber
#

but no way react router checks if it's the correct function right

#

😭

#

hmm

#

I will try to find that

daring badge
stark timber
#

wtf is this

#

like it just goes to this

stark timber
#

OMG I FOUND IT

valid jetty
#

and im assuming thats a reference equality blehhhh

royal nymph
#

actually not specifically invariant because it would have different code I believe

#

maybe discord's own invariant for whatever reason

stark timber
#

wait I think it's a react router thing

royal nymph
#

well it's some kind of invariant checking

stark timber
#

it has this stuff

royal nymph
#

like

invariant(someCondition, "condition failed");
stark timber
#

that is just assert πŸ’€

#

js devs rly need a library for everything

royal nymph
#

it's well designed and a common convention

stark timber
#

bc it's a single function

serene elk
#

yes

#

it's already an issue with context menu components

#

but there's a solution either way

stark timber
#

here I am gonna write that function

serene elk
#

I haven't thought about that for new api yet

stark timber
#
type Condition = (() => boolean) | boolean;

function assert(condition: Condition, message: string) {
  if (typeof condition === "function") {
    assert(condition());
    return;
  }

  if (condition) {
    return;
  }

  throw new Error(message);
}
#

need whole library for this

#

dang

#

wtf

#

lol

royal nymph
stark timber
#

how is it different

#

I guess

royal nymph
serene elk
#

wait til you found out that their bundler adds code to polyfill spread operator on every single module it's needed

#

the same functions

royal nymph
serene elk
#

thousands of times

royal nymph
#

the world if discord stopped trying to support IE11 (they don't even succeed in that) and instead targeted modern javascript

#

at least they don't polyfill async await anymore

#

remember when they did that

stark timber
royal nymph
#

how do you manage to polyfill spread but not async await

serene elk
#

I genuinely dont know

royal nymph
#

they're both es6

serene elk
#

and it's insane how no dev notices it

#

we gotta message brandon

#

im tired of my app being so big!

royal nymph
#

gonna start working on discord then on day 1 I fix their bundler config and immediately quit again

serene elk
#

u messaged him in the past regarding bundler config

royal nymph
#

meh

serene elk
#

it's ironic😭

#

i dont really care but it's kinda dumb still

royal nymph
#

imagine if discord was sane and targeted something like ES2020

#

modern but still 5 years old so it has very good compatibility

serene elk
#

ngl ill try messaging him

royal nymph
#

what do u wanna send him

serene elk
#

just a heads up about the bundler config

#

mention it's doing polyfil on spread operator while async is still used

#

it shouldnt be doing that polyfil

royal nymph
#

they will fix by polyfilling async again

serene elk
#

LOOOL

royal nymph
serene elk
#

what is that lib called

#

that does polyfil with generators

royal nymph
#

honestly discord should just analyse what browsers users still use (almost no one even uses the browser version, most use the electron app) and I can guarantee you >99% of the users will be using a semi up to date browser that definitely supports ES2020

serene elk
#

remember when they merged modules together @royal nymph

royal nymph
serene elk
#

that was probably their smallest bundle size ever

stark timber
#

also ven the copyright infringement will be gone soon from my repo

#

sorry it has been there for so long

#

I think I violated your license like 20 times

royal nymph
#

what repo

royal nymph
stark timber
royal nymph
#

regenerator-runtime is a polyfill for generator functions

and then regenerator-transform transforms async functions to generators to regenerator runtime

stark timber
#

it's basically a copy of vencord

royal nymph
#

sadantify

serene elk
stark timber
#

switch branch

serene elk
#

spicetify sucks and spotx got cooked by cef signature checking

stark timber
#

I agree with that

serene elk
stark timber
#

spicetify is so AHH

serene elk
#

this person is just crazy tho

royal nymph
#

now I'm curious

I wanna analyse discord's code and see how recent of es spec you need to use discord

#

do they use regex lookaround

#

and do they use promise.finally

#

those two are es2018

stark timber
#

spot x has binary patches?

serene elk
#

idk how it worked

#

and why it doesn't do js patches already

stark timber
#

u can do this in frontend too

#

idk what gabo is tho

royal nymph
#

Spotify uses cef not electron

#

cef equivalent of electron main process is C++

#

so if you wanna have main process you need to write C++

#

that's probably what the binary patches are for

stark timber
#

Yes ven is right

stark timber
#

😭

#

true

#

I forgot about hermes

royal nymph
#

discord hasn't worked on IE11 for years

#

and the only people still using Ie11 are random government infrastructure and retro kids

hoary sluice
supple whale
hoary sluice
#

on the psu/mobo/case, etc

hoary sluice
#

i mean like if i picked a terrible version of a part somewhere

shrewd canopy
#

It wouldn't hurt me to do so

supple whale
#

which was known to kill zen5 cpus

stark timber
#

I have asrock should I be scared

supple whale
#

i'd recommend browning ur pants right now

stark timber
#

😭😭😭

supple whale
#

they'll probs refund u if it dies

#

but its annoying since its a week or two without a PC

#

In Taiwan I sat down with ASRock on the Friday afternoon and questioned their motherboard team about the Ryzen 9000 series CPUs dying on ASRock motherboards, and they said they have just fixed this issue coming in Computex, and are rolling out bios updates.... Though who is to blame?
Sponsor : VIP-SCDkey 30% Code : BFTYC
Windows 11 Pro (21$) : ...

β–Ά Play video
stark timber
#

it’s- it’s- it’s a… p- p- prebuilt πŸ˜…πŸ˜…

supple whale
#

air a good air cooler is way more than enough most of the time

hoary sluice
hoary sluice
supple whale
#

then you're fine

hoary sluice
#

whats britain level

supple whale
#

1980's wiring

hoary sluice
#

nah i live in vienna

supple whale
#

so 1960's wiring?

hoary sluice
supple whale
#

anyways read the site i linked u for the psu review

hoary sluice
#

but power outages happen never and ive never had any problems with inadequate power in austria

supple whale
#

LTT is the only one that actually does competent PSU reviews

#

if they said its good, its good

hoary sluice
#

ok

supple whale
#

GPU is a GPU, market is fucked so do w/e u want, you're getting fucked either way

stark timber
#

get what u can afford and run away as fast as possible

supple whale
#

memroy good since 6k, i'd go for a CL28 if money was no object, but fuck cares

#

and ssd is an ssd for sure, you could probably snipe it for half price on amazon if you're patient

hoary sluice
supple whale
#

they have sales on M.2 SSDs quite often

#

and u can get them like 40% off if you're lucky

#

and get some 4TB

stark timber
#

ssds are cheap af on amazon

supple whale
#

""""yes""""

#

in america maybe

#

not here

stark timber
#

I am not in america

supple whale
#

probably quite a bit

#

thats why i said "if money is no object"

supple whale
#

i dont care its your money XD

hoary sluice
#

i mean do prices drop significantly

#

for pc parts

supple whale
#

dont know i dont use amazon

#

since its not cheap here

hoary sluice
#

alr

#

are u in uk

supple whale
#

no

#

god i'd fucking kms

hoary sluice
#

what country

hoary sluice
stark timber
hoary sluice
#

i watched a review it seems like xfx mercury and sapphire nitro+ and one other are the best ones but maybe you know better

supple whale
#

amd and best is not synonymous

#

amd is good and cheap

stark timber
#

intel too tho

#

I saw it on youtube shorts

#

so

#

pretty good source

supple whale
#

but not insanely powerful

stark timber
#

I wonder why they suddenly started making cheap gpu’s…

supple whale
#

because gpus arent expensive

#

nvidia and amd are simply milking people for all its worth

stark timber
#

yum

stark timber
#

thx @lyric latch @valid jetty

#

u are the best

#

doing this was never the problem

valid jetty
serene elk
#

that is not how you fix it

stark timber
#

yea it is

serene elk
#

adjust the way you find, not patching it to not check

stark timber
#

I just skipped the check!

stark timber
fleet cedar
#

You don't skip the check, you delete the check

valid jetty
#

@stark timber find the Route component exported in webpack by spotify and then patch that to return your custom thing if a special prop is passed, then use that component instead

#

dont just delete the check 😭

serene elk
#

just fix the find 😭

#

there are multiple ways of finding a component without the api wrapping it

valid jetty
#

well no because i assume the component passed into .push is a custom Route component

#

when react router expects their one

serene elk
#

you are doing something wrong if you need to delete the check

valid jetty
#

yeah ^^^

stark timber
#

it's just a wrapper component for lazy

serene elk
#

then use a find that doesn't add the wrapper

#

show me the find

ivory heath
#

Is an important distinction

valid jetty
#
patcher.after(findByName("Route"), "Route", (props, res) => {
    if (props.__extendify) return <LazyComponent />;
    return res;
});

then when pushing your children <Route __extendify /> @stark timber @stark timber PLEASE

#

and then just use the official Route component

serene elk
#

that has nothing to do with the issue, no offense

valid jetty
# serene elk what is this

i assume react router expects the children routes to be the ""official"" route component

so if you patch it to return something custom and then use that official component instead of passing a custom one, you can just pass the check instead of needing to bypass it

#

like, the Route component elia is passing is not the one exported by spotify i assume

shrewd canopy
#

I want virtualization and hypervisors to just work

serene elk
stark timber
serene elk
#

you are gonna put yourself into a place you really dont want to be

pseudo sierra
serene elk
#

do not use promises to webpack find things

valid jetty
#

i love monads but i dont want monads in my discord filter code pls

serene elk
#

trust me you dont wanna have to deal with async

valid jetty
#

mildly painful

stark timber
#

but this is a different system

serene elk
#

it's webpack

stark timber
#

yes

serene elk
#

same thing

shrewd canopy
serene elk
#

webpack does not use async to require modules

#

that itself already makes it obvious you dont wanna use async either

#

how do you plan to use async inside functions that are not async

#

just dont use promises

#

use proxies with sync code

valid jetty
#

is this searching for a module that passes all 3 filters???

#

or is it returning 3 modules that each pass their respective filter in an array

stark timber
#

level 1 proxy crook Sleeper
level 999 promise boss GIGACHAD

valid jetty
#

hmm ok

#

i suppose thats fine

serene elk
serene elk
stark timber
#

I know lol

serene elk
#

you are digging a hole you dont wanna be in

serene elk
#

yeah that's better

#

but if you wanna make it work for functions too you need target to be a function

#

not an object

stark timber
#

I don't understand proxy at all

supple whale
serene elk
#

I have been working in an improved proxy wrapper for the new find api

#

I got it done already but haven't tested

stark timber
serene elk
serene elk
#

seems verbose

#

but I cant say much because I dont have a better idea

stark timber
serene elk
#

😭

ivory heath
#

Oh wait

#

You said with ai features off?

#

Like game performance?

#

lol, no AMDs road house is compute

#

And what I was trying to imply

#

They make the fastest general purpose hardware in the world period

#

Nvidia is only worth… like 4 trillion rn because of tensor cores and the AI bubble

#

Wanna literally do anything fucking useful for society like weather patterns? AMD

#

Fastest super computers in the world? AMD

ivory heath
#

They still push their hardware raid tho for some FUCKING reason

#

Any sane person would use ZFS or unraid

shrewd canopy
ivory heath
# shrewd canopy Some AMD users told me `qemu-system-x86_64 -accel whpx` doesn't work for them id...
stark timber
#

@lyric latch does revenge build css or naw

#

idk how it works

jade stone
#

@deep mulch

stark timber
jade stone
ivory heath
#

Discord moment.

valid jetty
#

@hoary sluice

crude star
#

cfg!(not(target_os = "macos"))

valid jetty
#

that's what i told them (this isn't my screenshot)

serene elk
#

u could help spot x devs maybe

jade stone
serene elk
#

or promote your own mod

#

and dont belp

lavish frigate
#

prepare for doing this in vencord soon ill apply at discord and rewrite the entire client in rust

supple whale
#

or use yt:m like a human being

#

takes 5s to mod

hoary sluice
dense sand
supple whale
#

AND it doesnt break every month like spicetify!

dense sand
#

Metrolist on phone is basically yt music with downloads and all m3

#

Its actually good

#

Works with ur google acc

supple whale
#

ill look at it

dense sand
#

Like im actually very happy with ir

serene elk
supple whale
#

yt:m just works perfect for me

#

i run like 3 userscripts on it on pc and thats it

serene elk
#

u can use spotx with blocked updates no issue

dense sand
supple whale
#

mmmmmmmmm

shrewd canopy
#

Just use mp4s

#

Easy

fleet cedar
#

Probably means "download yo shit"

valid jetty
#

i use spicetify too

#

though i can't tell whether it's spicetify or spotify but it's a memory leaking machine

#

i have to restart the app every few hours otherwise my whole system slows to a halt

fleet cedar
#

Like discord then

valid jetty
#

yeah

ionic lake
#

3 of us!!!

supple whale
#

yt:m bae

#

yt:m PWA even more bae

#

oh premid broke?

deep mulch
#

spot x death

#

they all contribute to yours instead

spark tiger
jade stone
#

lc.wa 0xff to dec

visual shellBOT
crude star
#

it's 256

stark timber
#

I think I’ll be able to build extendify for web too

#

I don’t see a reason as to why I wouldn’t be able to

#

actually nvm

#

it’s possible if they expose module cache on web version

serene elk
#

there are tricks to get the cache if it's not exposed

royal nymph
#

require.cache

ivory heath
serene elk
#

with just monkey patching

wild coral
#

hmmm
i think this looks nice

jade stone
ivory heath
wild coral
wild coral
ivory heath
#

Like the if extension == none should just return. The rest of the code shouldn’t be indented in a else

ionic lake
ionic lake
#

if this is for a eval command use jishaku

wild coral
#

no

#

its not

ionic lake
#

hm

ivory heath
wild coral
#

bwa

ionic lake
#

bwawa

wild coral
#

mrrp

ivory heath
#

Bwaaaa

ivory heath
wild coral
#

i mean perhaps

#

im still garbage with programming lol

ivory heath
#

Good or not just giving my two cents sodalove

wild coral
#

:3

hoary sluice
stark timber
valid jetty
winged mantle
#

though i guess extension == None is a sad path

ivory heath
winged mantle
#

:(

#

yeah i guess it does make sense to return because it's not happy path

ivory heath
winged mantle
#

i mean you could make it totally acceptable by doing that

#

having a whole pointless level of indentation because of using else: if: is the most glaring issue

valid jetty
ivory heath
#

sodasad I already said that and linked a video with explication

winged mantle
#

i don't like the idea of never nesting

#

i prefer sometimes-not-nesting

#

but i guess that's not a very catchy title (everyone needs nesting sometimes)

spark tiger
ivory heath
#

Use enums.

valid jetty
ivory heath
#

Oh wait he advocated for not using them period?

#

I just skimmed the comments and they were talking about storing them

#

I thought to disk

#

Not using booleans is mentally ill

valid jetty
#

basically tldw: use date_at rather than has_happened, use enums rather than multiple bools to ensure they don't overlap

winged mantle
#

just keep things simple

lavish frigate
# valid jetty

I think if you derive PartialEq on the enum the return of the expression should be β€žtrueβ€œ 😁

#

But since you are comparing against a status enum it might make more sense to use a match statement, but this depends on your use case 😁

winged mantle
#

this is js

lavish frigate
ivory heath
#

Theo3 posts the most clickbaity shit in the world and all the comments are just people complaining about it

valid jetty
#

according to theo most times you also want when something happened, not just whether it happened

#

which i guess is a fair point

winged mantle
#

i saw a video saying you should always do == true or something?

#

oh they said always use == false

#

Stop writing if (!x) β€” it’s not just a style nitpick, it’s bad software design. It's why I avoid the ! operator in conditions, why I prefer == false, and how this small readability choice connects to bigger design principles.

We’ll look at:

Boolean blindness and why generic booleans hurt maintainability
Modeling real domain states inst...

β–Ά Play video
ivory heath
valid jetty
#

well he was saying in the case of a db

#

so yeah

ivory heath
#

Because of multiple returns?

winged mantle
#

i realised in that case it was actually good because of sad path :(

ivory heath
#

Most of the time if we have a if statement it’s because we have a so called β€œsad path” or skip behavior if a condition is met

winged mantle
#

consider iterating a grid

for (int y = 0; y < height; ++y) {
    for (int x = 0; x < width; ++x) {
    
    }
}
ivory heath
#

sodathink ah yeah in this case you could abstract out the for loops into their own function

#

Compute_data()
Then
Compute_data_row()

#

But it depends on the complexity of the internal of the for loops for when one would do that

#

Modern languages like c++, rust, and golang have iterators or we can make our own to avoid the double for loops

winged mantle
#

i have mostly been writing c

#

recently

ivory heath
#

Else there is cases where it makes no sense to never nest.

winged mantle
#

i think that's a little unnecessary

ivory heath
#

If you had 20 lines in the inter for loop or more I’d make it its own function

#

But like 3? No

winged mantle
#

oh right extract the thing in the loop

#

i'm a never extractor

#

premature extraction is the root of all evil

ivory heath
#

You should when it makes sense and you know what you’re doing.

#

I don’t agree with agile or β€œclean code” either.

winged mantle
#

ye

valid jetty
winged mantle
#

really i think there's a lot of stuff in programming that's like tomato/tomato

ivory heath
winged mantle
#

in a thing i have the whole loop is a function (yes this is tetris)

#

(i have taken my tetris implementation very seriously)

#

i should commision music ...

#

needs an ost

dense sand
#

smartest copilot autocomplete

lavish cloud
lavish cloud
#

If you used compute_data_row in other functions I'd understand but creating additional functions introduces complexity for understanding behavior

valid jetty
#

imo you only introduce a new function if any of these:

  • the code you would extract is over 100loc
  • there are two or more places where the code can be reasonably reused
  • you're making a library and you want to give the user particular information without calling the whole function, for example a function to create a struct holding info that could otherwise be created inline in the primary function
lavish cloud
#

#2 and #3 I agree with

#

#1 I'd violate in nearly every codebase

valid jetty
#

yeah i violate it too

lavish cloud
#

Compose is just much easier as a single bulky function

valid jetty
#

i only follow 1 if the part i'm extracting fits better into the code i'm writing as a seperate function, but it can be a pain if you have loads of local variables you now have to pass

#

it's like a puzzle

lavish cloud
#

Yeah

fleet cedar
#

I extract based on number of parameters, not length

lavish cloud
#

Honestly even for #3 I often leave out some functions that'd be useful simply because it's not really intended as part of public API and there are ways to do the same thing in ways more readable for your code

valid jetty
#

that's also true

valid jetty
#

i'm talking like, you have some configuration that you wanna expose to the user that would otherwise be a struct literal in the primary function

lavish cloud
#

Especially if they could be expensive to compute

fleet cedar
#

If I have 15 vars in scope and some sub-block only needs 3 of them, that would probably make sense as a separate function

valid jetty
#

real

lavish cloud
#

I only do that if I need the same sub-block elsewhere

ivory heath
ivory heath
#

I think absolutes are dumb

#

I have a internal weight of β€œwhat does this code snippet do, require, how long it is, how complex it is?” before I extract

ivory heath
#

And a real thing in multiple Google code bases.

vapid narwhal
#

idk what hes on about i dont code

#

but someone in a group chat with the only programmer being him asked this

ivory heath
#

Browsers do that idk how else to explain it.

#

They update in real time

lavish frigate
#

you put all the styles into a style tag, you continously edit the style tag to match the contents of the theme css file

winged mantle
#

i love raylib why is raylib the best engine

lavish frigate
#

as someone with a good pc i prefer the unreal engine 5, i dont want those brokies with their bad computers playing my games

winged mantle
#

why aren't triple a games made with raylib

lavish frigate
#

you dont think like a business man, will never get rich
its like with scammers and bad grammar, its a filter
people with good pcs = people with money = more likely to buy game and spend money on microtransactions
unreal engine 5 = performance hog = requires good pc = only people with money play = more money

crude star
#

if you make a big game with raylib itll perform worse than UE5 blobcatcozy

lavish cloud
#

13k LOC isn't that bad if it's for a good reason and has decent comments explaining sections where necessary

ivory heath
#

No. No comments

#

Arbitrary 2 letter variable names

#

Misleading function name

#

Barely any documentation

lavish cloud
#

Youre just describing my experience with codebases with functions that are very split to other functions

ivory heath
#

And I’m describing multiple source files in Google projects

winged mantle
#

you can do things without taking them to the extreme

ivory heath
#

That are 4-20k locs long functions

winged mantle
#

sometimes it's better not to create soapy clean code with single responsibilities for everything

ivory heath
#

I specifically said I hate agile and clean code

winged mantle
#

oh you did say
For example if you follow this logic absolutely

crude star
#

i hate code

winged mantle
#

nice thing with raylib is it feels way easier than an engine as a beginner...

#

creating basic games...

lavish cloud
winged mantle
#

but honestly i can only see myself moving to sdl if i do something less silly

#

i find raylib easier than pygame is this weird...

#

surely it takes a pretty complex game for an fully blown engine to pay off

#

most engines are also not Free Software

lavish cloud
winged mantle
#

i never want 20k lines of code in a file let alone a function

winged mantle
#

:(

#

writing a game in java is based though

lavish cloud
#

Kotlin but yes

lavish cloud
winged mantle
#

writing a game in java is the best troll

lavish cloud
#

Java needs to be more usable imo

winged mantle
#

idk kotlin is bloated

lavish cloud
#

It's not that bad tbh

#

Perf is generally the same

#

But it has a bunch of QOL stuff on top

winged mantle
#

i am against programming languages having useful features trolley

crude star
#

ok golang dev

lavish cloud
#

ok rust dev

winged mantle
#

except c++ c++ is perfect

lavish cloud
#

c++ is just barely more readable than rust

crude star
#

i don't use rust

#

neither does toad

winged mantle
#

i do

#

for one project

#

i don't actually hate it i just troll people on the internet a lot

lavish cloud
#

this is what all modern C++ and rust code looks like to me

  • unreadable as hell
  • :::::::::::
    just write normal, readable and maintainable code smh
winged mantle
#

its just i think it's a language i'm more happy about other people writing than myself

winged mantle
lavish frigate
#

rust definitely has a more modern syntax

winged mantle
#

wait no

#

rust is worse

lavish cloud
#

also a side note

winged mantle
lavish cloud
#

a really funny thing I've noticed about rust devs

#

is that they all seem to love certain features

#

and then someone else points out that its unsafe behavior

#

completely defeating the purpose of rust

lavish frigate
#

?

winged mantle
#

i think simple c++ code can be pleasing

lavish cloud
#

the only good parts about C++ are the decent stdlib (especially compared to C), namespaces and inheritance imo

winged mantle
#

i change my opinions every 5 seconds

lavish frigate
limpid mica
#

my favorite thing about C++ is that i have 15 years of experience using it

#

everything else is a bit meh

#

c++11 was amazing though (relative to c++03)

#

and c++23 is very usable

winged mantle
#

an opinion i've maintained for a long time is programming magic is generally bad

#

like qt's signals and slots

ivory heath
winged mantle
#

i have no idea how they work...

lavish cloud
#

std::string, std::vector and std::map solve 99% of my problems with C

supple whale
#

because for me, there's nothing better than abstraction

#

but most people confuse magic and abstraction

fleet cedar
#

Sure I'll accept that it's better than C

ivory heath
supple whale
lavish cloud
winged mantle
supple whale
#

i do not give a single fuck how your File is implemented, what i care is reading metadata from the file

lavish frigate
#

im a python dev. i need abstraction. give me abstraction. i want so much abstraction i just have to import 1 package and execute a function to make my app work.

supple whale
#

i care about doing File.name or File.slice(0, 12)

#

and I could give less of a fuck whats under the file implementation

#

IE abstraction is bae

lavish cloud
#

you can do just about anything in like 3 chars

winged mantle
lavish cloud
supple whale
#

fuck, vite is dogshit because of how much black magic it does without telling you