#đŸȘ…-progaming

1 messages · Page 96 of 1

shrewd canopy
#

I think i wouldnt help a selfbotter on vencord server

upper oak
spark tiger
#

u don’t need to get ur token to fetch channel

#

what’s ur end goal

upper oak
#

to connect easily

spark tiger
#

connect to what bruh

royal nymph
winged mantle
tired vigil
#

It's still stage 2 after 10 years

#

Gta 6 will be released before js pipeline operator

lavish frigate
#

we need LINQ queries in js

#

make it as bloated as c# please

#

🙏

valid jetty
#

or well

#

at least linq lazy iterator adaptor stuff

#

like .Select .Filter .Aggregate have their js .map .filter .reduce equivalents

lavish frigate
#

i specifically said LINQ queries cuz i want the language to have more useless keywords blobcatcozy

#

with select and where and everything

tired vigil
#

I think they were trying to make c# more approachable to non developers by copying sql syntax

supple whale
winged mantle
#

i don't really like it lol it belongs in functional languages

supple whale
#

well js is kinda functional

#

at least in the way u can write it

tired vigil
#

^^

supple whale
#

rather than the way it structured

#

becauuse "um akshtually" everything in JS is an object without exception, but u can work it with it as a strictly functional lang

#

still, i fucking despise this sugar shit

#

the ?. operator was peak, evverything else is useless tbfd

#

maybe a := operator from GO would be good

tired vigil
#

What does it do

supple whale
#

BUT I JUST WANT THREADING REEEEE

supple whale
tired vigil
#

Ohh there's literally another proposal for that

#

for js

supple whale
#

yep

#

THREADING PLEASE

#

I WANT

#

SO BADLY

#

INLINE THREADING

#

FOR DECADES

tired vigil
# supple whale yep

Well at least you can do Promise.try() now so u never have to use try/catch blocks again trolley

#

At the cost of worse performance and everything being async

crude star
#

i dont think js will ever be threaded

supple whale
#

at that point i can just write my own ulitity function for it

lavish frigate
#

bringing back my rust result/option port to ts

crude star
#

workers exist anyway

supple whale
#

and its easy to introduce ur own threading impls

#

but its about inline threading

#

like what kotlin has

crude star
#

write for(;;); in discords console

#

and watch everything freeze

supple whale
#

because as of now threading is piss, but you NEED a 2nd file to run the threaded code on, which sux

supple whale
crude star
#

go wouldn't freeze

#

workers aren't quite threads

supple whale
#

they are

#

because the BARE MINIMUM for js threading as of now is:

import { expose } from 'abslink'

export default expose({
  add: (a: number, b: number) => a + b
})

and

import { wrap } from 'comlink'
import worker from './exposed.ts?worker'

const threaded = wrap(worker)

const res = await threaded.add(1, 3) // 4
#

thats currently the bare minimum boilerplate

#

but its stilll... a loooot

#

and requires 2 files

#

my dream is inlining this

#

i rly just want

const threaded = thread({
  add: (a: number, b: number) => a + b
})

const res = await Promise.all([threaded.add(1, 3), threaded.add(1, 3)])
supple whale
#

and is pretty much alone in that category

#

well it really just does inline threading, like what i described

#

but it splits the code into threaded chunks automagically

crude star
#

javascript workers have entirely different contexts

#

it's a whole separate process

#

can't share objects

#

only specific array buffers

#

if you want to be pedantic though there's no real distinction between threads and processes besides namespacing at the kernel level

#

to create either you just fork vfork clone clone3

supple whale
#

objects are serializable

crude star
#

atp the threads could be in completely different computers 😭

supple whale
#

yes!

#

well currently they are the same process

#

different contexts

supple whale
#

abslink lets you simply create async messages over abstract message channels

#

so you can exchange messages via http or ws

#

and implement IPC that way

#

its why i built that lib unironically!

crude star
#

thatd be cool

#

erlangcoded

#

but guess what erlang calls their threads

supple whale
#

liek the lib is alr there

#

xD

#

you just need SSE and fetch minimum

#

or preferably WS if u want less boilerplate

lavish frigate
#

i know we have vercel nerds here so can one of you idiots explain to me what fluid compute is and what all these buzzwords in here are that are complained about https://vxtwitter.com/dioxuslabs/status/1937214107385757737

vercel's Fluid Compute makes me irrationally upset

push javascript to the backend, make it single threaded, and then make it single-process(!)
it’s serverless! no std::fs , no std::socket, no AOT compiled code
the ecosystem needs to add “serverless runtime support” đŸ„Ž
oh no, pages load slow, let’s stream snippets of

#

full tweet

tired vigil
crude star
#

functions can't be serialized by structuredClone so the answer is just no

#

unless you do your own thing

supple whale
#

yes functions cant be

#

object cvan

tired vigil
#

interesting

supple whale
#

Object

#

not class

crude star
#

errmmm classes are objects? đŸ€“

supple whale
#

yes

#

but they arent Objects

crude star
#

ok true

ivory heath
# supple whale it is threaded

JS is a single threaded language. It is only concurrent for stuff the runtime handles in the background generally IO related. Similar to python with the GIL

ivory heath
ivory heath
#

GO! uses goroutines to its advantage for garbage collection but thats an entirely different matter

ivory heath
shrewd canopy
lavish frigate
#

i personally think we should push for multi-threaded js so i can run my vencord crypto miner more efficiently

ivory heath
shrewd canopy
#

Thats why i am saying optionally kill gil

ivory heath
#

youre trying to be right by a technicality

shrewd canopy
#

Yeah and

ivory heath
lavish frigate
#

we will teach them

#

!!

#

"just wrap stuff in a mutex and then that mutex in an arc and your problems with go away !!!"

ivory heath
#

.....

#

i wonder if c++ has equivalents like that never really checked

#

i mean the fucking atomic pointers

lavish frigate
#

hm

ivory heath
#

arc is just a std::shared_ptr in c++

lavish frigate
#

apparently it has something similar

#

with std::atomic

lavish frigate
ivory heath
#

no Mutex<T> tho

lavish frigate
ivory heath
#

you have to just

std::lock_guard<std::mutex> lock(mtx);

at the begining of your function call or lock it manually

#

which all that does is abuse local lifetimes to call a deconstructor to automatically free the lock once the scope is left

lavish frigate
#

😭

viral prairie
#

wouldnt it be cool to add the "hint links" thing from qutebrowser to the electron discord app jst saying btw-

ornate quiver
#

be the change you want to see

woven mesa
#

i should learn how to use swift distributed actors

supple whale
supple whale
supple whale
#

so it really doesn't matter for the end developer

ivory heath
supple whale
#

to a system dev, or a c dev maybe

#

not to a js dev

#

end goal: more cpu power

#

how they do it, doesnt matter

#

it gets done

ivory heath
#

Ex,
Green threads cannot have thread affinity. They can however have significantly lower ram usage

Green threads are limited by the runtimes context switching and in the case of golang is whenever the fuck it feels like. Hardware threads are treated fairly and evenly by the scheduler.

#

Maybe as a JS developer it does not matter because in the end JS is shit and you’re not gonna get good performance

supple whale
#

that just means you cant write good js, cope

ivory heath
#

lol

shrewd canopy
#

I also agree that js/ts is bad language

#

I wish apps were actually native

#

Like were made w c++/rust/<insert any compiled language>

ivory heath
#

I dislike them incredibly. I think majority of websites could just be mark down + css

shrewd canopy
#

Same

ivory heath
#

The only time JS can compete with any compiled language, even GO! Is in massive for loops. Other than that the over head of JS itself massively slows own execution and garbage collection is a pain

#

In multiple larger “energy efficiency” or runtime oriented benchmarks JS is consistently using 4-16 times a native c/c++ or “muh rust”

#
  • shitty JS devs that are ever plenty
winged mantle
#

average c++ code

std::monotype<std::monovalue<std::chrono::clock<std::infinity>>>
lavish frigate
#

Especially now with how many features it does actually have, very viable to just use vanilla js for simple websites

#

But then framework devs come crashing through the wall with 900 deps for their blog

#

(Framework still good for complicated sites, like SPA, etc.)

supple whale
supple whale
winged mantle
#

i love ts/js

ivory heath
#

Why are you acting like spider monkey is horrible?

supple whale
supple whale
#

its utter fucking awful dogshit

ivory heath
supple whale
#

sm is so bad when it comes to any form of gc or large memory operations its fucking unfunny

#

sm's gc will freeze the main thread for multiple seconds at a time

#

its insanely bad

supple whale
#

the devs are fucking incompetent and cant write good code

#

i wrote MANY js based libs which easily outperformed native equivalents, because of how incompetent many devs are

winged mantle
#

honestly i don't think writing good code is possible in any language

supple whale
#

and you can gain SO MUCH performance in JS by just swapping some libraries at compile time, to your own custom ones which dont do stupid shit

winged mantle
#

the best representation of what a program should do is english
vibe coding is the way forward wingdows

supple whale
#

i think the best example of this very thing is the process polyfill for web, which uses a SINGLE set timeout, because the author wants backwards compatibility back to edge 1, and some weird smart TVs which can only have 1 set timeout active at once????

#

legit just replacing that with queueMicrotask reduces the code for that module from 400LOC to 1LOC and increases perf x10000

#

AND PEOPLE USE THAT LIB EVERY DAY

#

its unfunny how utterly incompetent many JS devs are

supple whale
#

because IIRC set timeout minimum time is 4ms, and queuemicrotask can be as little as 1ÎŒs

winged mantle
#

1usd

ivory heath
#

Trueeeeeee

#

Be right back gonna write JS SIMD

supple whale
supple whale
#

SIMD in wasm is so painful

#

i mean SIMD overall is painful

crude star
#

skill issue

supple whale
# ivory heath In multiple larger “energy efficiency” or runtime oriented benchmarks JS is cons...

well yeah, thats syntethic benchmarks, which rarely represent real-world applications tho, in JS 90% of the heavy lifting is done by native api's anyways, so many of those benchmarks just opt to re-write those APIs in JS, poorly at that, instead of using what the env provides, because they know the perf will be identical, because then the only thing else to benchmark is just sugar that developers write around said api's to pass the objects around to libraries etc, which has close to 0 difference, thats why JS is so good, because you still get native perf thanks to the standardised APIs written in native code, that you'll never need to give a single fuck about, they just work, while working with the flexibility of a GC'ed language

#

platform agnostic code is simply so much easier to work with

supple whale
#

having to compile native code to wasm, for different types of SIMD, because different CPUs support different intstruction sets twists my insides so much

#

then before u can even init ur library u need to check what SIMD set the given cpu supports before u can load ur lbirary

#

why dont native devs that make these libraries just handle these cases for us

#

instead we need to build this shit 4 times

ivory heath
#

What? WASM offers a native “vectorized execution” API

crude star
#

SSE3 has existed for 20 years you can stop checking

supple whale
crude star
#

llvm and gcc both output sse3 to do floating point 😭

supple whale
crude star
#

you literally can stop checking

supple whale
#

because people are running laptops and chromebooks with CPUs so old they dont have SIMD

ivory heath
#

They all do that’s a lie.

#

It’s just is it arm or x86

supple whale
#

yes a 15 year old ARM Intel cpu

#

👍

ivory heath
#

MF got users on pentium with MMX

supple whale
#

yes, thats what happens when you ship products people actually use

#

you get a big userbase which you need to support!

#

i know, this might be shocking to you

#

oh also IIRC smart tv's running androidTV often fail the SIMD eval too

#

but that shit is just e-waste so makes sense

crude star
#

horror

supple whale
#

did you know that 99% of all androidTVs run in 32 bit?

#

yes they have 64 bit cpus, but they run in 32 bit!

ivory heath
crude star
#

half of windows is still 32bit

supple whale
#

did you know that some of the latest androidTV updates started deprecating 32 bit support, which 99% of all android tv's still use!

supple whale
#

often rebooting the TV if the OS UI uses webviews?

#

this hasnt been fixed for 2 years now!

supple whale
#

which is why i stick to JS

#

i write one codebase

#

and it works on every GPU, CPU, arch, device

ivory heath
#

> JS
> gpu
OKAY BUDDY

supple whale
#

my single codebase runs on phones, tv, pcs, macs, linux, steamdecks, vr headsets, cars

supple whale
ivory heath
#

Canvases LMAO

lavish frigate
#

😭

#

insane people only in this channel

ivory heath
#

I thought you meant something real like compute

supple whale
#

3d rendering is real compute sir

ivory heath
supple whale
#

and this "js based non real comptue" as you'd call it, easly outperforms other half-competent developers like VLC

#

:^)

ivory heath
#

VLC kinda ass ngl

supple whale
#

yep, its also the most used video player in the world thats not windows media player, since that one comes built into the os

ivory heath
#

Only cause it’s older than mpv

#

And video land made it

supple whale
#

nope, only because it has a proper UI which just works, and is idiot friendly unlike mpv

#

#1 reason for people not using mpv is because they dont know how to install ui for it, and they dont know how to configure it

#

because real users are average 9-5 workers, which dont know how a computor works

ivory heath
#

MPV has a ui? Wdym

supple whale
#

they install an app and they want it to work

supple whale
#

mpv isnt targetted at normies, so normies aka most of the world, will never use it

supple whale
#

they dont want to spend an additional 3 days fixing it to get it to work with their HDR display

ivory heath
supple whale
#

no, thats an OSD which has 0 functionality compared to what VLC offers

#

which also barely works and flashes like fuck on an HDR display, since its just subtitles rendered on video without HDR metadata

#

which again, you need another config setting to fix, which isnt on by default for some god forsaken reason

#

which is why VLC is the biggest in the world, because as we both said, its codebase is dogshit, but its appealing to normies, which just want something thats user friendly

ivory heath
#

Most people will never use a thrift besides the OSD

#

not like VLC has actual options either

supple whale
#

and thats why its REALLY not difficult to outperform native with JS, because just as JS devs are incompetent, so are MANY native devs

ivory heath
#

What are you gonna do? Use a Deband filter from the 90s?

supple whale
#

👍

ivory heath
#

Hm, what about VLC having borderline unusable performance due to running out of date as shit library’s

supple whale
#

brotha what the fuck are u saying

#

i'm not arguing VLC is good, we both said its dogshit

#

but its user friendly

#

my exact argument is that VLCs perf is dogshit

#

and my "non real 3d rendering" with js, can easily outperform it

#

ur just arguing for the sake of arguing

#

not because u have an opinion to voice lmao

ivory heath
supple whale
#

i did

#

two

ivory heath
#

SURE YOU DID BUD

#

How’s decoding h.264 in JS?

supple whale
#

you dont need to

#

you just give the h264 frame to the browser and it decodes it for you

#

because as i said, the beauty of the JS is the wrappers for the native apis that are standardised

#

which people like you ignore for the sake of "huuur duuuur i write dogshit code just to proove js is worse, rather than creating the optimal solution"

supple whale
#

anyways i wrote a pure js async iterator based decoder and encoder for mkv, which can easily handle speeds higher than my storage, so i guess it caps out at 8GB/s for me for data truput

#

and for the 2nd one, we compiled libav to WASM, and we transmux mkv into mp4 real-time to add mkv support to browsers like firefox and safari which dont support the format

ivory heath
#

The joke is I work on the stuff you’re importing from the runtime for your JS :3

supple whale
#

good for you!

#

that doesnt invalidate how good js is

#

for all i care you could work on an ass scratcher, js is still good

ivory heath
#

It’s not

#

WASM is better than JS

supple whale
#

LMAO

supple whale
#

imma frame this, at the end of this conversation, just to proove you dont have actual real-world experience

ivory heath
#

You’re just fun to piss off

supple whale
#

because if you actually ever used WASM you'd realise its main purpose is not performance, which it cant offer at all anyways

ivory heath
#

It’s not as fast as if the browser did have a native lib for it, but it is fast

supple whale
#

again, isolated benchmarks, and not real-world use cases

ivory heath
#

In real world use cases

#

I’m not talking make believe. Actual project that use it

supple whale
#

hate to break it to you, WASM still runs wrapped in JS, and to access that data, you still need JS, so you'll never be much faster anyways

#

and the latency and sizes are simply not worth the 0.1% perf you'll save in actual use cases

#

WASM is only good for porting massive libraries you dont have the time to write correctly in JS

#

oh whats this? wasm still uses JS memorry? to read external data you still need to serialzie and deserialzie js objects?

#

"wasm is faster, we ran a 1M iteration for loop inside wasm which never exited it, its an order of magnitude faster than js!" sure buddy, now read that data back to js, and you're an order of magnitude slower than js because WASM doesnt support proper serialization

#

anyways, go back to ur gpu land, because you've never worked with competent web apps and you're just talking out of ur ass

#

framing this just for the sake of it

ivory heath
#

Cool

fleet cedar
#

Wasm is faster at bulk computation, which is not a common need in websites

ivory heath
#

Yeah the problem is we can’t just make the entire website WASM

#

The WASM to JS overhead can make it slower but WASM is usually between 1.5 -10x faster

#

To say it isn’t faster is insane tho

supple whale
#

because as you said, real world needs to read the data from WASM

#

which is where WASM fails

#

thats also COMPLETLY ignoring how long it takes to download the wasm and compile it

#

and the complexity it introduces at build time

fleet cedar
#

Buses are faster than walking. Going to the bus stop, waiting for the bus, and then going from the bus stop is sometimes not faster than just walking a few hundred meters

supple whale
#

^

ivory heath
#

There are plenty of websites that are significantly faster

#

Due to WASM

supple whale
#

because they either write dogshit JS code, or dont use web apis for it

ivory heath
#

I hate your blanket coverage of shit instead of actually explaining

nimble bone
#

erm what the figma

supple whale
fleet cedar
#

Nobody's saying js or wasm is objectively better for everything

#

Both have their strengths, and for most websites, js suits them better

supple whale
#

WASM is decent if you're running it on edge or a server

#

with shit like WASMer

#

but not in web

#

the only valid use cases for wasm on web i found so far is porting massive C/C++ libs to web in a single day instead of taking a month to re-write them, and some multi-threaded decompression algos which web doesnt support

#

that didnt do that well on js, because they used SIMD

winged mantle
#

what is this code style

supple whale
#

dont remember what that was, it was some giga niche file compression shit

winged mantle
#

putting semicolon on the next line

fleet cedar
#

Probably "if line starts with ( put a semi"

#

I've seen similar rules in lua

supple whale
#

but

#

that shit is questionable indeed

winged mantle
#

just don't write no semi style js it's confusing doing this

supple whale
#

dont write IIFE's simply

#

xD

winged mantle
#

this isn't an iife though

supple whale
#

it is, but isnt?

#

im giga fucking confused tbf

#

cuz its async wrapped iife

#

but then the semi for the iife is on the next line???

#

god that is fucking unreadable

#

nuke it pls

winged mantle
#

I find my own code the most readable

#

I must be the greatest programmer

supple whale
#

facs.

winged mantle
ivory heath
supple whale
#

just use the DOM

#

you have a gpu accelerated rendering pipeline right there

#

and u fucking use wasm

#

WHY

ivory heath
#

Because the DOM can’t do everything?

supple whale
#

yes it can

#

defo more than a canvas outputted WASM bitmap

fleet cedar
#

Implementing all the rendering and interaction from scratch will be hell for accessibility

supple whale
#

that just means u cant do it

supple whale
#

thats the point

#

so what he's using WASM for isnt perf, but saving time by not having to implement the UI himself

#

and instead instantly porting some existign codebase for it

ivory heath
#

There are complex shader pipeline simply impossible for the DOM that still makes sense as a web app.

#

Especially with the advent of chrome books and browser only devices

supple whale
#

i'm yet to find a single shader which cant run on web

#

especially if you use tools for porting shaders to opengl

#

and use webgl2 which can just flat out run any opengl shader out there

#

I know, because i ported ALL the mpv shaders to web this way

#

just to proove a point to a guy, who made a similar argument like you

#

xD

#

this is just 1:1 the mpv deband shader ^^

winged mantle
#

i saw a ui app that was using wasm and a canvas and it was very laggy in chrome but fine in firefox

supple whale
supple whale
shrewd canopy
supple whale
#

im actually curious, link me

winged mantle
ivory heath
#

rust

#

That explains everything

supple whale
#

wasm bindgen

#

okay

#

so pretty normal so far

shrewd canopy
#

panicked at C:\Users\RTTV\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library/core/src/num/f32.rs:1402:9: min > max, or either was NaN. min = 1.0, max = 0.0 dang

#

I cant even run it on mobile

supple whale
#

probs SIMD tbf

#

no cap

#

wasm is hell to work with in browser, because you need 3 build outputs

#

WASM2JS if WASM itself fails [GIGA SLOW], WASM, and SIMD wasm

winged mantle
shrewd canopy
#

Ah it seems to rely on screen size lol

ivory heath
#

Idk if rust would make windows better or worse

winged mantle
#

doesn't windows already use rust

supple whale
winged mantle
#

ok. whatever that means

supple whale
winged mantle
#

i haven;'t done much webgl and i think since i tried it there's a new thing

supple whale
#

which means each call to any of the webgl shit is calling between wasm and js

#

aka big boi overhead

winged mantle
#

ah chrome only thing

supple whale
#

but idk why i'd be slow in chrome

royal nymph
winged mantle
#

ah yea webgpu

supple whale
shrewd canopy
supple whale
#

only webgl2 calls

#

that the problem

winged mantle
#

nop i was just looking up webgpu

supple whale
#

i lied!

lavish frigate
#

😭

supple whale
#

there are webgpu calls

royal nymph
supple whale
#

webgpu shit!

winged mantle
#

i was googling what webgpu is and it seems to be webgl but google chrome only

royal nymph
#
panicked at C:\Users\RTTV\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library/core/src/num/f32.rs:1402:9:
min > max, or either was NaN. min = 1.0, max = 0.0

Stack:

Error
    at onPanic (https://rttv.ca/snippets/nbtworkbench-26507aaadea5d6ad/web/script.js:23:17)
    at imports.wbg.__wbg_onPanic_a3859b9cd1fad37e (https://rttv.ca/nbtworkbench.js?version=2:1343:13)
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[2200]:0x2a07e7
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[2249]:0x2a5ddd
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[3924]:0x30c0a2
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[2843]:0x2d8e7b
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[541]:0xcdbf9
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[476]:0x4f76b
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[1523]:0x25f645
    at https://rttv.ca/nbtworkbench_bg.wasm:wasm-function[4217]:0x311983
supple whale
#

and its not chrome only

lavish frigate
#

why is there like no info on this thing i cant find even just like an about me to link back to the creators

supple whale
#

deno implements it too

#

actually firefox and safari have it too

#

peak!

winged mantle
supple whale
#

just not fully, only mostly

winged mantle
#

nightly only it seems

supple whale
supple whale
#

deno webgpu support is insane too, because u can write native apps or server apps which have normalized GPU access

#

its massive, and people sleep on it

winged mantle
tired vigil
#

incredible

panicked at C:\Users\RTTV\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-23.0.1\src\backend\wgpu_core.rs:1790:18:
wgpu error: Validation Error

Caused by:
  In a CommandEncoder
    Command encoder is locked by a previously created render/compute pass. Before recording any new commands, the pass must be ended.
winged mantle
#

there's noticable lag spikes

#

and i have hardware rendering on pretty sure

supple whale
#

i'm ~40% sure its either scrolling

#

or animated images

#
* {
  will-change: scroll-position;
}

.members_c8ffbb, /* members list */
.guilds_c48ade, /* server list */
.chatContent_f75fb0, /* main chat messages container */
/* .sidebarList_c48ade, channels sidebar with animated banner */
.layerContainer_da8173, /* app sibling container for overlay elements */
.app__160d8 { /* app container */
  contain: strict !important;
}

.typingDots_b88801, .vc-typing-indicator-dots {
  contain: paint !important;
}

.avatarDecoration_c19a55, .avatarDecoration__44b0c {
  display: none !important;
}
winged mantle
#

i've never had any perf problems on discord in firefox which is pretty hefty, moreso on github 😭

supple whale
#

try this css

#

and tell me

lavish frigate
supple whale
#

i wrote that after spending like 3h looking at discord's draw calls

#

to make sure it doesnt lag to shit XD

winged mantle
#

i think github is the only site i've had serious problems on on firefox

ivory heath
supple whale
#

as i said 90% of use cases for WASM are wrong

winged mantle
supple whale
#

but its by far not a fast solution

winged mantle
#

i think they were doing a reverse electron

supple whale
#

its legit just:\

winged mantle
#

instead of putting a website into a desktop app using a webview, they put a desktop app into a webpage using wasm

supple whale
#

wasm rust bindgen is unironically insanely good

#

esp when compared to the attorcities emscripten commits against humanity

#

but what they did is NOT a good use of it XD

winged mantle
supple whale
winged mantle
#

do i need to use full chrome

#

instead of diet chrome

ivory heath
supple whale
#

wtf did ffmpeg change?

#

i muxxed this video

#

did some "light clipping"

#

so the metadata is a bit.. fucked

#

it worked a few years back, doesnt anymore

#

funny!!!!

ivory heath
#

Wdym light clipping

supple whale
#

how do i say it

#

ebml is made to recover from data structure.... inaccuracies

#

same as html u can have fucked tags

#

and the browser will fix it for the most part

#

ebml is kinda the same

#

and uuuh yeah i did some fucky when i converted an mkv clip to mp4 and the data is SLIGHTLY malformed

#

ALSO ITS LOUD WATCH OUT

ivory heath
#

What did you do?

supple whale
#

clipped the video without any metadata

#

there's just "suddently" a video clip which skips a few minutes of contents thats nowhere to be found

#

the seekhead is non-existing for that clip XD

ivory heath
#

Why

#

It’s so easy to do right

supple whale
#

the other one did 20

#

but it dead

supple whale
#

and just used minimal tools for it

#

i didnt want to re-encode it

#

so i just clipped the video segment and extracted it

#

XDDDD

ivory heath
#

I didn’t know the ffmpeg CLI isn’t a minimal tool

supple whale
#

nah too much typing

#

im a lazy mf

ivory heath
#

Fair

supple whale
#

doesnt like memory poking

#

who would have thought

spark tiger
supple whale
#

xD

#

docs are my bane

winged mantle
#

why does vulkan seem to be the future

#

isn't ease of use more important than perf in many cases

#

isn't opengl good for that

crude star
#

vulkan is horror

lavish frigate
winged mantle
#

2 people on the entire planet actually need that much perf trolley

lavish frigate
#

like in a game engine if you see a checkbox that says "use vulkan" and clicking it instantly doubles your performance while you have to do no shit except have the poor engine developers deal with vulkan more of course you will press it

crude star
#

i get worse performance using vulkan so it must suck

lavish frigate
#

upgrade yo damn gpu its already crying

crude star
#

definitely unrelated to the fact my gpu is 12 years old

lavish frigate
#

called it

lavish frigate
#

so it all works out in the end

supple whale
#

its HELL to work with, because vulkan DOES NOT hold your hand

#

its the "raw dogging assembly" of gpu rendering

#

but its really good

#

when done right

winged mantle
#

i meant more in the sense it seems like it's replacing opengl which seems sad

supple whale
#

opengl is old

#

and it didnt hold up well

crude star
#

there are opengl -> vulkan translation layers

supple whale
#

and dx is decent, but ABSOLUTELY PROPRIETARY

supple whale
#

not performance and features

lavish frigate
#

i think its funny that proton translates dx to vulkan and makes some games get a performance boost i think that should tell u enough how performant vulkan actually is

supple whale
#

this guy dumbed down opengl vs vulkan quite well: https://youtu.be/7cta91Y53gs?t=151

To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/FilmStop/ . You’ll also get 20% off an annual premium subscription.

Khronos main Vulkan site - https://www.vulkan.org/

Vulkan documentation - https://docs.vulkan.org/guide/latest/queues.html

Vulkanised 2025 (Jeroen Bakker) - https://www.youtub...

▶ Play video
crude star
#

half of my proton games i gotta PROTON_USE_WINED3D=1 %command%

#

i love old gpu

supple whale
#

dude unironically

#

i'm so hyped for linux

#

its looking so and so much better thanks to proton

shrewd canopy
#

I would be never hyped for linux again since i broke my Fedora VM and no way to debug it or anything

supple whale
#

XD

#

skill issue

crude star
#

i can help you break your windows system instead

supple whale
#

oh im the master of that too

#

shit i nuked my ubuntu install so many times that i've got re-installing ubuntu down to a t

#

same for my windows install

#

man the amt of times i re-installed win7 and vista as a kid because i deleted or fucked with smth i shouldnt have

#

sheeesh

runic sundial
#

goodbye

ivory heath
supple whale
#

from what i've seen its hit/miss

#

sometimes it does, soemtimes it doesnt

#

also very gpu dependent

#

i saw intels arc gpus fucking love that shit

ivory heath
#

They run under a shitty translation layer. ZINC is better at it

supple whale
#

they dont have old dx drivers

#

just a shitty translation layer

ivory heath
#

MESA wants to remove open gl drivers and only use translation layrws

supple whale
#

i'm all for it tbf

#

opengl is fucking hell and lag on anything arm based

ivory heath
supple whale
#

ehhh

#

kinda

#

i mean i agree with u

#

lack of dx11 support is questionable

#

but then again, the perf it gives them by not having to support it is great

#

many games that have these dx11 issues u can just run in vulkan or use dxvk

#

and you'll regain that lost perf

#

like almost all unity games can just be launched with game.exe --vulkan

#

and x10 perf, 0 bugs XD

ivory heath
#

They don’t

#

They use a DX11 layer in widows ans ZINK on Linux

ivory heath
#

It was funny when Intel said fuck it and used DXVK

ivory heath
#

But yeah

#

Arc itself is mid

#

It was over hyped as shit by LTT for having a hardware av1 encoder

#

LE AV1 STREAMING NOW

supple whale
#

arc is fucking insane

ivory heath
#

It has fine price to performance

#

I got my 6950xt for stupidly cheap

supple whale
#

fine is a hardcore undersell, especialy outside of the americas

ivory heath
#

Oh outside the US sure

supple whale
#

ex: eastern europe, brazil

#

i think the only issue i had with arc....

#

was mihoyo games, that i need to launch via vulkan

#

and thats it... there's nothing else

#

like all games just ran no questions about it

#

no fuckery, no configs

#

and it runs damn fucking well

#

its nuts

ivory heath
#

It wasn’t always like that.

#

Launch was horrible

supple whale
#

those chromium artifacts were kidna annoying for the first half year, but nvidia suffered the same thing, so i think it was a chromium thing

supple whale
#

and it was fucking nuts

#

and boi have i tried to get this card to... not work

#

but it just fucking works

ivory heath
#

Battle mage is it own thing

#

I meant a series

supple whale
#

yeah a series was dog, but that's behind us now

#

oh i know

#

one thing i miss

#

Nvidium mod for minecraft, cant run that...

#

go figure right!?

#

thats the only thing i REALLY miss on my arc workstation

#

that shit was great, 500 chunk render distance, 100fps

ivory heath
#

Too bad Intel compute is
 where AMD was a decade ago

#

I take that back they have good ai accelerator support

#

But anything for generic compute

#

Like amd HIP is meant to be nearly 1:1 with CUDA in some aspects so it’s easy to change the target with just some define statements if you’re lucky

#

Intel has no such thing afaik

supple whale
#

not a workstation computing card

ivory heath
#

Any card is a compute card

supple whale
#

macos notarization taking hours

#

fuck apple!

spark tiger
solemn ravine
spark tiger
#

could have swapped the words fr

lavish frigate
#

no fun allowed

spark tiger
#

this is a serious language

supple whale
#

mmmmm, appl,e

ornate quiver
#

btw anyone with a jellyfin setup which gpu do you use to accelerate transcoding

#

i hear the docs recommend Intel Arc but idk

#

suppose that's because of good av1 support?

ornate quiver
#

what workloads does it handle well

jade stone
#

There’s always a bit of latency jumping around, but that is more likely hard drive rather than transcoding

ornate quiver
#

o

cinder egret
#

there is a 1% chance you’ll ever need anything better than integrated gpu unless you’re planning on giving 20 people access to the server
.

#

and they will all be somehow using it at the same time

ornate quiver
#

oh okay

cinder egret
#

intel is great for transcoding because if quicksync meanwhile amd is very lackluster for the most part but if you’re going amd i still don’t think you’d need dedicated gpu

ornate quiver
#

yeah I doubt more than two people will ever use it at once

cinder egret
#

ideally you don’t want to transcode anyway but ykyk sometimes it needs to happen

ornate quiver
#

it would probably be smarter to buy a cache nvme to accelerate the nas instead

cinder egret
#

but as long as you have an igpu you should be pretty well off

#

also i wouldn’t recommend a cache nvme either but if you wanna buy it then it won’t really cause any harm.funds might be better spent upgrading something though

ornate quiver
#

hm alright

cinder egret
# ornate quiver hm alright

i don’t have personal experience with it but from all of my research, apparently it was one of those things that was a definite “yes it’s needed” to now being “no it’s useless” but i don’t have the specifics or anything on that

#

if you could instead spend that extra money on a better cpu you’d likely have a better time with that instead though

cinder egret
#

it's just one of those things that is nice to have but not necessary. if you will be video editing from your nas or something then you should absolutely get it, but otherwise you won't necessarily need it and money would be much better spent elsewhere. but of course you may wanna do your own research and stuff to determine if you think you would need it or not

#

it wouldn't really help much with basic file serving or something like plex/jellyfin but would greatly help if you intended to do intensive work through your nas for whatever reason... if you could, you should most definitely get an ssd if you haven't already, for boot drive and for all apps/docker containers. another way you would see improvement is if you do not have much storage, which if you plan to have a lot then it would be even more useless

#

i am not an expert though i am speaking purely from what i found from my research into building a NAS when i wanted to sooo

royal nymph
cinder egret
#

@ornate quiver help me

cinder egret
#

what i just said to you could be completely wrong in every single way possible actually @ornate quiver

ornate quiver
#

yeah you love spreading misinformation

cinder egret
#

you might have a specific use case where it is neat to have but it is far from something you would have to have so you should just do a little research and determine if it's worth blobcatcozy but i would say put money into cpu upgrade instead and make sure that you have an SSD for boot drive + apps/containers

ornate quiver
#

5s of research says that people recommend more ram over dedicated cache drives

#

so i guess yeah

ornate quiver
cinder egret
#

so blobcatcozy @ornate quiver

spark tiger
#

is zls (zig lsp) lowk useless or am i just used to how good rust-analyzer is

#

it can't even tell me i used wrong amount of arguments in a function call before i build it ffs

ionic lake
#

rust-analyzer does workspace diagnostics on startup, zls prob doesnt

lavish frigate
#

zls doesnt build all your deps every 5 seconds

#

:^)

winged mantle
#

copilot review useless there's no way my code is this good

#

at least it did spot one obvious mistake

spark tiger
#

like the only errors it showed were when i forgot to put a bracket or a semi-colon

valid jetty
#

you configured it wrong then

#

the syntax checker and (everything else) checkers are typically different parts of the same lsp

#

for example, in rust syntax errors happen as soon as you edit the text, but stuff like mismatched arity only appear when you save the file

spark tiger
#

on apparently you can make it have build-on-save errors

native spruce
#

@woven mesa they want too much from me

lavish frigate
#

what does the app look like rn

woven mesa
#

thats fucked up

nimble bone
#

antrag is cute

#

however right-swiping an app crashes blobcatcozy

solemn ravine
#

works on all my devices

spark tiger
#

wat even is this app

woven mesa
#

antrag isnt urls guh

nimble bone
solemn ravine
woven mesa
#

use after free

#

!!!!!

solemn ravine
#

dis the app

woven mesa
#

@solemn ravine @nimble bone @spark tiger

spark tiger
woven mesa
#

sammie is very smar

#

so she did it anyways

spark tiger
#

well i mean i heard that banking apps bypass it somehow with like private api or something

nimble bone
spark tiger
#

oh

solemn ravine
woven mesa
#

pariting file

solemn ravine
#

so it can do desktop stuff like list applications via a tcp request

#

no banking app can use this

spark tiger
solemn ravine
#

Because they would need to ask the user to pair to a computer

#

which is
 why would they do that

spark tiger
#

sorry i meant that how banking apps can detect whether your phone is jailbroken or not. i think they do it by detecting something in apps or whatever

#

i mean obviously they use another method

#

that doesn't require any user interaction

solemn ravine
#

A similar app does the same thing as antrag but don’t list more information

spark tiger
#

i see thank u

solemn ravine
#

but review seems to be asking too much from me

woven mesa
#

star trek so good

solemn ravine
#

since one of my other apps do link to the same resources as this one

woven mesa
#

liquid glass,,

#

i drank it

solemn ravine
#

They can’t accept that

woven mesa
#

you cant upload apps with beta sdks

solemn ravine
#

imagine me trying to upload the vencord extension and it ends up me chatting with the reviewers for a few days straight

#

oh my gosh this was the image they gave me 😭

#

god forbid I link to the project repo and give links to guides

ivory heath
#

Im not sure if this is smart the the dumbest shit ive ever made

ivory heath
#

i always try to make readable code when i write anything

#

I also have a sane .clang_format

spark tiger
#

UseTab: Never 🙏

solemn ravine
#

I programmed

woven mesa
#

scary

solemn ravine
#

@woven mesa idk if our approach for monitoring the clipboard is still good

#

need to reboot my mac so I turn off launchpad

woven mesa
solemn ravine
#

tbh I’m not sure if there’s another way either

woven mesa
#

bro who made so much decoding logic

#

so unreadable

solemn ravine
#

TO WHAT

woven mesa
#

#warning("implement screenshots decoding")

solemn ravine
#

if ur talking about feather then most likely I was the one who touched it lol

woven mesa
#

nop i think it was me

#

guhh i dotn remmber ant of this

solemn ravine
#

u made it very large

#

but I did add some stuff

woven mesa
#

yeah you made a buncha properties optional

#

fair ig

solemn ravine
#

altstore repos suck yk

#

I think all of them are optional

#

so it just accepts anything given to it

woven mesa
#

scary

solemn ravine
#

maybe the apps array should be required at least

woven mesa
#

?

woven mesa
solemn ravine
#

oops

#

what I do

woven mesa
#

nothing its just bc the uhh

#

models were moved out of feder

solemn ravine
#

oh righ

woven mesa
#

to altsourcekit

solemn ravine
#

aaah

woven mesa
#

i accidentally installed feder on my sisters phone

#

again

spark tiger
woven mesa
#

xcode keeps defaulting to her phone before mine

spark tiger
#

oh i read it as fedora for some reason so i was like how tf do u accidentally install an os 😭

#

i gotta eep fr

solemn ravine
#

screenshots seem like hell..

#

imagine having 2 formats

woven mesa
#

Plugin “LicensePlistBuildTool” from package “LicensePlist” must be enabled before it can be used.
Enable it now?

Build plug-ins with malicious code can harm your Mac or compromise your privacy. Be sure you trust the source of build plug-ins before you enable them.

#

idk what that is

woven mesa
#

what it do

solemn ravine
#

its for licenses

#

grabs all licenses from the project and bundles them

woven mesa
#

ooohh

solemn ravine
#

automatically

woven mesa
#

so true

solemn ravine
#

super useful

pearl stagBOT
#

license_plist.yml: Lines 1-32

options:
  licenseFileNames:
    - LICENSE
  packagePaths:
    - Package.swift
  prefix: thewonderofyou.Feather
  xcworkspacePath: "*.xcworkspace"
  addVersionNumbers: false
  singlePage: false
  sandboxMode: true
  force: true

manual:
  - source: https://github.com/jkcoxson/idevice
    name: idevice
    body: |-
      MIT
  - name: "Zsign"
    file: "Zsign/LICENSE"
    
  - name: "ElleKit"
    file: "LICENSE_EllEKIT"

  - name: "LiveContainer"
    file: "Zsign/LICENSE_LC"

exclude:
  - swift-html-entities
  - LicensePlist
  - XcodeEdit
  - Yams
  - /.*-kit/
solemn ravine
#

tbh I didnt like yml at first

#

but when I was setting this up I got more fond of it

worldly sigil
#

its honestly fine when its kept super simple, personally

spark tiger
#

yaml is so cool but messing up indents is awful

woven mesa
#

the new xcode is nice

worldly sigil
#

but the moment you deal with anything that makes you add like 6 levels of indents is... fortedSweat

woven mesa
#

but still slow

#

i cant even type

worldly sigil
#

my typing is off today

#

even on monkeytype

woven mesa
#

its still going

spark tiger
#

samsung galaxy whar

worldly sigil
#

ah yes, xcode and smasnug

woven mesa
#

yea

solemn ravine
woven mesa
#

meret is actually worse

#

yk its bad if it takes apple long to build too

solemn ravine
#

but if you’re editing with like nano then good luck

#

I had trauma with python when trying to edit it with cli

woven mesa
#

fr

royal nymph
woven mesa
#

explod

solemn ravine
#

@woven mesa do not look at the warnings

woven mesa
#

@solemn ravine my eepiness has gotten to me also unit tests are broken and i need more time to fix

#

can i look at it in morning pls

#

đŸ„ș

solemn ravine
#

thats up to u

woven mesa
#

gn oomfies

#

bye everyone else

royal nymph
lament bay
#

gg

native spruce
#

@woven mesa LOL the apple clipboardviewer is source available

#

oh hell yeah

#

god damnit their code so bad

winged mantle
dense sand
ivory heath
winged mantle
#

wdym c++ is very similar to js they both have classes

#

and they both have switch statements

lavish frigate
#

and they both have insane ugly ways of declaring private methods and properties

runic island
#

would there be any way for me to add this box with options to ephemeral messages somehow ?

#

when hovering over ephemeral messages ?

#

not that exactly but a button that would interact with the ephemeral messages contents, like a copy content button for example

#

or integrate the translate button for normal messages into ephemeral ones

winged mantle
#

đŸ§‘â€đŸ€â€đŸ§‘

lavish frigate
#

đŸ€

#

there is no real amazing way for that and that kinda sucks

dense sand
lavish frigate
#

but i still think
private function something() {}
is better than both
#something()
or

private:
  T something() {}
winged mantle
#

programming in so many languages is screwing with my brain

lavish frigate
winged mantle
#

c++ private: is fine but c++ friends feel like bloat

lavish frigate
winged mantle
#

just add a comment saying // don't use unless you know me

lavish frigate
#

😬

winged mantle
#

I mean you usually group together private stuff

#

it means less repetition

lavish frigate
#

thats true but i think id have prefered a block instead of randomly switching over to python mode

winged mantle
#

you can always do public: int pubFunc() if it's a one off

fleet cedar
lavish frigate
#

dont husk me you know what i mean 😭

winged mantle
#

why so

fleet cedar
#

You should group by semantics, not arbitrary language limitations

winged mantle
#

good practice to group together internals

#

put public stuff at the top so library consumer knows what to use

fleet cedar
#

Good practice to put privates near where they're used

winged mantle
#

i mean in c++ you define headesr and source files separately

fleet cedar
#

It's so dumb that you have to define private stuff in header in the first place

winged mantle
#

you don't always

lavish frigate
#

Glad I still kept myself safe from the mess that is headers

winged mantle
#

programming languages not having headers confuses me

#

i sometimes feel like i need to edit header after editing something in source file

#

I haven't even done much c/++ lately

#

c++ developers anonymous

fleet cedar
#

It's just that headers aren't necessary, technology has evolved since the 70s

winged mantle
#

c++ modules exist now

#

đŸ”„

fleet cedar
#

And how many compilers support them?

winged mantle
#

idk

#

i do like how header files are like documentation

lavish frigate
#

I was like „c++ finally has print!!
 oh“

winged mantle
#

how many of you rust devs actually have a job

lavish frigate
#

Idk but when I search for zig Jobs I get 100% less results than when I search for rust jobs

winged mantle
#

instead of using REAL languages which get you a job you use languages which pamper you with pleasant print functions

#

for your TOY projects

#

the one person i talked to who had a programming job mentioned using assembly

lavish frigate
#

I had a web dev job for 3 years and now I’m searching for another one so yeah

winged mantle
#

actually yeah the truth is all you need is javascript

lavish frigate
#

No I need js to get money so I can fund projects in languages I actually like

winged mantle
#

what if you made a rust like language that compiled into js

lavish frigate
#

What if you cargo build —target=wasm32-unknown-unknown

winged mantle
#
fn main(window: dom::Window) {
    let Some(cool_elem) = window.document.get_element_by_id("coolElem") else {
        panic!("cannot find #coolElem");
        return;
    };

    cool_elem.add_event_listener("click", |e| e.prevent_default());
}
lavish frigate
#

do i have news for you...

winged mantle
#

wait is this even syntactically valid

tired vigil
#

u don't need to return after panic

winged mantle
#

fixed

#

oh

#

i assumed that was wrong

#

i had just panic before idk i'm a bad rust dev

fleet cedar
#

That's spelled .expect("cannot find #coolElem")

winged mantle
#

i just wanted to have some pattern matching

#

totally didn't forget

lavish frigate
#
use web_sys::wasm_bindgen::prelude::*;
use web_sys::{HtmlButtonElement, window};

#[wasm_bindgen]
fn main() {
  let document = window().unwrap().document().unwrap();
  let element = document.get_element_by_id("coolElem").expect("Could not find element");
  if let Some(button) = element.dyn_into::<HtmlButtonElement>() {
    let on_click = Closure::wrap(Box::new(move |event: Event| {
      event.prevent_default();
    }));

    button.set_onclick = on_click.as_ref().unchecked_ref();
  }
}
#

welcome to rust, this is possible

#

actually you might not even need the wasm_bindgen

#

whoops

winged mantle
#

but naturally it has a lot of unwrapping and boxing and moving

#

what if you had a language with music as a first-class feature

#

you could just write c# to play the note c#

#

maybe a good name would be C#

lavish frigate
#

😭

fleet cedar
#

Lilypond

winged mantle
#

special kinds of loops for different scales would go hard

supple whale
#

that compiles to wasm

#

and its dogshit

winged mantle
#

i mean more of a typescript like thing

#

probably not viable

tired vigil
#

actually this is just alternative syntax that can also be played as music
iirc there are a few languages specifically for writing music algorithms with loops and instruments and stuff like that

#

It's really cool when someone writes live code in it, the music changes in real time

winged mantle
#

i did know the first 6

#

c++ feels weird to me

#

in normal use i feel like it's fine apart from template errors

#

but learning c++ is like learning a non programming language

#

it's constantly evolving with new words like rizz

#

it has many obscure words like gongoozler

#

i guess words like gongoozler and ken are like compiler specific extensions

#

(in case you were wondering gongoozler is "a person who enjoys watching activity on the canals of the United Kingdom" and ken I have heard people from scotland say to mean "know" and they are both regional)

#

ok better example is antidisestablishmentarianism

#

i find it funny that people seemed to become aware of this word from that steam bug because i knew it for years

#

honestly error handling is the best thing about go because it showed that the developers felt schadenfreude

#

yes

gilded surge
#

it is indeed possible

winged mantle
#

why are you asking this in the programing channel

tulip sage
#

oh shit

#

mb

jade stone
winged mantle
#

really

#

howw

#

noob

#

i knew all but third there

#

the second is one of the first six but i did know it

jade stone
#

I need to do another one soon

#

@winged mantle do I do ui with gtkmm or QT

winged mantle
#

qt

#

qt is easy

lavish frigate
#

I dislike both # and private: with how they look

#

They don’t fit

fleet cedar
winged mantle
#

if go has byte why doesn't it have word, dword and qword

#

ah it's architecture specific ig

#

except windows of course thought it was smart to use those terms in the registry

shrewd canopy
#

uint16, uint32, uint64

winged mantle
#

byte is an alias for uint8

#

no aliases for the others