#πͺ -progaming
1 messages Β· Page 131 of 1
(typescript-eslint)
enums are a personal choice, also know the difference bewteen enum and const enum if you use them
if you dont use them, know what literal types are (string interpolated types can help with generating these sometimes)
know what as const and satisfies Type mean
know what tuples are and how to use them
as const so cursed
nop
yop
do you know what it does
nop
@jade stone slimey sadan
@deep mulch everything you need to know about as const
// literal object without as const
const _1 = { // { foo: number; bar: string; }
foo: 1,
bar: "abcd"
};
// literal object with as const
const _2 = { // { readonly foo: 1; readonly bar: "abcd"; }
foo: 1,
bar: "abcd",
} as const;
// literal object with prop as const
const _3 = { // { foo: number; bar: "abcd"; }
foo: 1,
bar: "abcd" as const,
};
// tuple without as const (not actually a tuple)
const _4 = [1, "abcd"]; // (string | number)[]
// tuple with as const
const _5 = [1, "abcd"] as const; // readonly [1, "abcd"];
declare const myStr: string;
declare const myNum: number;
// tuple with non-literals *without* as const (not really a tuple)
const _6 = [myStr, myNum]; // (string | number)[]
// tuple with non-literals *with* as const
const _7 = [myStr, myNum] as const; // readonly [string, number]
π Search Terms "ts-ignore", "ts-expect-error", "noUnusedLocals", "noUnusedLocals underscore", "noUnusedLocals prefix" β Viability Checklist This wo...
why does leading const not make it a readonly
shit language
true
js is a dumpster fire, ts puts out the fire but the garbage is still there
Dont forget that you can also add a "const" specifier to generic types in functions, so you can omit "as const" when passing in a literal
TS is putting lipstick on a pig

do they use llvm jit at runtime?
why would you bother with jit if you already have llvm ir
malware
@jade stone
salad
@royal nymph found this gem in a library i was using because i needed to reimplement it because the author is terrible at packaging
are there even any good widely supported alternatives to it?
no
is it that well supported?
it works for all three major platforms, and it supports several languages so yeah I'd say so
not using C
go and cargo are pretty good build tools

Say that to embedded world
no
well enough
and cmake sucks so much ass that I'd rather do extra bs to make meson work instead of having to use cmake
how do i encode av1 with ffmpeg and not have it go at .5fps
ffmpeg -i "orig/2_h264.mkv" -c:v libaom-av1 av1/2_av1.mkv
don't use libaom it's slow
what should i use instead
gpu encoding sucks ass tho
Currently, Gemini CLI restricts IDE integration features to environments where TERM_PROGRAM is vscode (or other hardcoded values)
insane
WAIT
WHAT IS THAT THREAD
not going to bother with gpu accel
good
it's really fast
and good enough imo
I tried some encoding with my 9070xt and it's good enough and insane speed
vai what does this error mean in ffmepg
This FFmpeg error indicates a failure during video conversion, specifically related to filter processing and encoder initialization. Here's a breakdown of what the messages mean:
- "Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scale_0'": This suggests that there's a mismatch or incompatibility in the video formats (pixel format, resolution, etc.) between two internal FFmpeg filters that are trying to communicate. Even though both
src: yuv420panddst: yuv420pare listed, something in the filter chain is not happy with the format conversion. This can happen due to inconsistent input dimensions or incorrect image formats. - "Error reinitializing filters!": This error often accompanies the format conversion issue, meaning FFmpeg was unable to properly set up or reconfigure its processing filters for the task. This can be caused by various issues within the filter network.
- "Task finished with error code: -38 (Function not implemented)": This error code (-38) typically means that a requested function or feature is not available or implemented in the FFmpeg build you are using, or by the specific hardware acceleration being attempted.
- "Could not open encoder before EOF": This indicates that the video encoder (in this case,
av1_vaapi) failed to properly initialize and start writing output before the end of the input stream was reached. This could be due to incorrect encoder parameters or a problem with the encoder itself. For instance, if using hardware acceleration, the decoder might not know how to decode the input stream. Sometimes this can also be a warning that can be ignored if the output file is still fine, but in this case, it's part of a larger failure. - "Task finished with error code: -22 (Invalid argument)": Error code -22 signifies an invalid argument was providedβ¦
-# Response generated by gemini-2.5-flash. AI may be incorrect or misleading.
gemini2.5 flash is kind of dumb
use a better ai
but ai loves making up fake ffmpeg switches
i get 25% faster than this by using -hwaccel vaapi but not sure if thats the same thing
hwaccel seems to be for input decoding
@jade stone stinky sadan
get better gpu
@deep mulch @royal nymph guess i'm not doing amf
any plugin/userplugin which removes the "forwarded" text when you forward a messege?
π #π₯-vencord-support-π₯
(Auto-response invoked by @clear thunder)
sorry, didnt know it was supposed to be asked in support
it wasnt
someone called it
by someone i mean worf
Making myself unemployable by running my mouth one video at a time.
I am also very happy with the raise of AI because my inability to speak properly now proves that I'm a human.
This is a video about AWS being slow. Verified by comparing the speed of CPU, memory and IO using Sysbench between AWS and Hetzner.
Hetzner absolutely smashes it, b...


but...
its not meant to be faster?
its meant to be more convinient and automatically infinitely scaleable
but yeah i also hate cloud computing
point was that for the same vcpu and memory configuration the performance was abysmal while being much more expensive
glad to see this work lmfao
Blame virtualization
obligatory yearly mention of https://v8.dev/blog/cost-of-javascript-2019#json
The dominant costs of processing JavaScript are download and CPU execution time.
and why vite sucks because it doesnt support JSON imports :)))
Servers don't need absolute single core performance, they need insane throughput and many cores
and they dont care about coldstarts
bun sucks even more because it cant even compile dynamic imports correctly
:)))))
Talk is cheap, send patches
why?
lmao
its a dogshit runtime
why would i fix something thats broken, when i can instead not do that
and use somethings thats NOT broken and works better
?????
i have a very positive experience with Bun
i have nothing but dogshit experiences
its fine for running little scripts
for which stock nodejs is also just as good
for anything more complex its ass
idk i have medium sized project with workers and for some reason, workers work better in bun than in node
its already hell that i need to use vite and cant use webpack/rspack
cuz vite is fucking hell as well
as me and sadan experienced trying to get a worker in a sub-dependency working
because what was it? rollup or esbuild treats workers from dependencies as assets and not code?
and that breaks vite, which breaks sveltekit
gotta love minifying data to reduce import sizes
i love my baremetal
OS: Ubuntu 24.04.3 LTS (Noble Numbat) x86_64
Host: PowerEdge R6615
Kernel: Linux 6.8.0-90-generic
Uptime: 22 days, 19 hours, 42 mins
Packages: 2684 (dpkg), 60 (nix-default), 9 (snap)
Shell: bash 5.2.21
Terminal: /dev/pts/0
CPU: AMD EPYC 9254 24-Core (24) @ 4.15 GHz
GPU: Matrox Electronics Systems Ltd. Integrated Matrox G200eW3 Graphics Controller
Memory: 9.49 GiB / 377.47 GiB (3%)
Swap: 0 B / 8.00 GiB (0%)
Disk (/): 52.99 GiB / 438.49 GiB (12%) - ext4
Local IP (enp133s0f0):
Locale: C.UTF-8```
isnt this just perfect
awh man i js leaked the ip of it :C
its not even the local ip π
mmm it got worse
88 -> 47kb doe
nice
was curious about that GPU
Hello, I'm Andrew from Modern&Retro Gaming channel. Leave a comment, like or subscribe if you want so will be more videos like this for you.
Remember: Negativity, hate, offensive or stupid comments are not allowed.
PC Specs:
CPU: AMD Athlon XP 1700+ 1.46 Ghz
RAM: 512 MB SDRAM PC133
Motherboard: MSI MS-6511
Motherboard chipset: VIA KM133A
Sound...
i see....
welp at least u can run doom!
200kb of RAM for 7.6k fonts is not bad
given I've seen mbs for a single font that's pretty good
sir thats just the metadata
read the readme in the package
oh
Local Font Access API ponyfilled via Google Fonts API. Allows you to use LFA on any environment which supports fetch and ESM import().

its cool shit
my sub renderer can load fonts from ur pc or from google if it doesnt find them
much fancy
guh not even an lts kernel
is that just ubuntu being ubuntu
ubuntu has their own lts kernel
yes it's 6.8
not 6.6 or 6.12
insane
very
@frosty obsidian uses ubuntu
any TS enjoyers know how to make T inferred?
export async function settle<U, T> (promises: Array<Promise<T>>): Promise<{ errors: U[], results: T[] }> {
const settled = await Promise.allSettled(promises)
return settled.reduce<{ errors: U[], results: T[] }>(
(acc, cur) => {
if (cur.status === 'fulfilled') {
acc.results.push(cur.value)
} else {
acc.errors.push(cur.reason as U)
}
return acc
},
{ errors: [], results: [] }
)
}
Add NoInfer around T
Hope this helps
simply export async function settle<U = Error, T = unknown>
why tf does that work
i can only ssr this rn π
Debian lover when bigger Debian lover walks in
I love cpp
using Proto = void ();
// OK
// defines void my_func();
Proto my_func;
// not OK
Proto my_func {
}
actually you could do a similar thing in C
amazing
looks like declaration and function definitions are pretty different in the grammar
function definition requires a parameter list in the declarator
function declarations just go together with other declarations and i guess are determined based on type
husk
want to see proper fucking husk?
const ptr = this._malloc(uint8.byteLength)
console.log(ptr)
returned the same pointer 15 times

what this mean
bro do you know what allocating memory is?
C/C++ any1?
nobody
.,,,,
i know typescript and thats pretty close to c /satire
typescript -> javascript -> java -> c++ -> c
how can you even place javascript next to java
theres nothing which makes them similar other than the name
(its a joke right?)
Eh
Both c-style, high level
wow you could say the same about 90% of other high level languages
"C-style" meaning "if(cond) {}"
Guys i trying to make music
What do you think of the bases
https://julienraptor01.ddns.net/music
I'm using strudel which is funni writing code to make music
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
yes
Tf is that bro
learning how to code a discord bot out of spite
some person told me when i asked how she made custom bots, "i dont teach. buy one from me or learn it yourself"
so i will
update though, he can go online if i run the verycool.js :3
@supple whale jellyfin subtitles took like 2 minutes to load for an episode im watching

yep I told u jf is shit
they don't use my renderer which fixes this exact problem
meanwhile I'm making my subtitle renderer load fonts from your device system fonts, and from Google fonts
if they are not properly included
also deduplicating fonts so the same font isn't loaded multiple times
etc etc
jellyfin fixes none of these!
simply pay me to make a decent webUI
I'll do it no joke
how much money for you to make a jellyfin webui and meow
its a variable font so they probably just have some stuff configured
you can also just tweak it to match
Are you using the regular one, or getting epically trolled by the variable weight one?
Oh it only has a variable variant
Probably take a screenshot of it, open in something like Krita and tweak the weights there till you can get text to perfectly overlay
you will make
i just use system font anyways
nop
i think mine is google sans
ripped from pixel
how
@young flicker wyd
are you a gamer
Dont use
Use pelican
So much better than pterodactyl
Why would you run something in docker that already runs the things you do in docker
Girl are you insane
Just use coolify or something
depending on how much feature parity and feature set you'd want, "best in world" would probably be a few grand
im sometimes appalled by how bad my own code is
const modules = Object.values(
window.webpackChunkdiscord_app.push([[Symbol()], {}, (e) => e]).c
);
const settingsModule = modules.find((m) => {
try {
return m.exports?.Z?.getState?.()?.[2]?.proto;
} catch {
return false;
}
});
const protoData = settingsModule.exports.Z.getState()[2].proto;
const urls = atob(protoData).match(/https?:\/\/[^\s\x00-\x1f]+/g);
Object.assign(document.createElement("a"), {
href: URL.createObjectURL(
new Blob([JSON.stringify(urls, null, 2)], { type: "application/json" })
),
download: "discord-favorite-gifs.json",
}).click();
i have this js snippet i found online to download all favorite gifs, it used to work but a few days ago i started getting the error Uncaught TypeError: Cannot read properties of undefined (reading 'exports') at <anonymous>:12:34. i assume it's some change related to discord's bundling but i can not for the life of me find out what to replace here.
(i know about the one in #π-js-snippets but that requires vencord to be installed and im trying to write a program to automate downloading your favorite gifs. while i can automate installing vencord as an extension id prefer not to)
@royal nymph fix
Use proper proto store please
change Z to A
enum GIFType {
NONE = 0,
IMAGE = 1,
VIDEO = 2,
}
/** A mapping of gif URLs to gif metadata */
const gifs: Record<string, {
format: GIFType,
src: string,
width: number,
height: number,
order: number,
}> = UserSettingsActionCreators.FrecencyUserSettingsActionCreators.getCurrentValue()?.favoriteGifs?.gifs ?? {};
const gifUrls = Object.keys(gifs);
Something like that should work
@jade stone holy fuck
holy fuck
holy fuck
some1 needs to witness my genius
you mentioned that font shit in JF right?
i already had mostly fixed it a few years back, by simply loading the fonts async, so the library isn't being blocked
so on init, it would use the fallback font if it wanted to use a not-yet loaded font, and it would just load the entire list of fonts async
i just made it x100 better
it now load NO FONTS, and instead auto-detects what fonts are required for a given frame to render and if that frame is about to render fetches them async and loads them ONLY if they are actually about to be used for rendering

additionally it can load fonts defined by the developer in the constructor, if that fails, dynamically load fonts from the user's OS, and if that fails, load fonts from google fonts API
okay!
YESS I DID IT
π€
holy
Neat
wait lmao I recognize that snippet, someone posted it under a github gist I originally shared three years ago (and havent updated since)
base64 decoding a protobuf string and parsing out the urls is so horror, I wonder why they added that π
also I'm pretty sure this doesn't even work correctly?? it doesn't differentiate between source and media urls so you get unusable duplicates
just neat?
this shit so cool
D:
this is like the coolest thing since sliced bread
I spent 3 days on this, im gaslighting myself that it matters
guh how should I handle data in a database that has differing properties
I don't like leaving them null
just null or if the data is very different use multiple tables
very different
give more example
also if you really bad you can store json in the db
audit logs
different types of audits with info on what changed
that's called git isn't it ?
oh you want a sum type
nulls would prolly work
ulgy
could just make a json field tbh
does the database need to know about the event specifics?
could just have shared columns like id timestamp reason type then a data field that is just the data as json string
this is the cleanest solution if the database doesn't need to know about the audit log data
even if it does need to know about the data this still works if the db speaks json like postgres or smth
basically every db can speak json now
store it as as raw binary data
serialize the objects
import { serialize, deserialize } from 'node:v8'
db.put(serialize({hello: 'world'})))
const data = deserialize(db.get())

wont get much faster and efficient than that without compression
yes
yop
@deep mulch hop on Java serialization
java good
java 25 cool
java is the future
also groovy for gradle nice
and kotlin if you're a hipster
find what is wrong for a cookie
no, i'm using rust, cargo
and this isn't the right answer
no no everything is working
its in rust
im rusty
That it's the wrong part also i like the pfp
ever heard of cargo-binstall
ez
custom website with custom IPC running on chromecast
which means i can simply open any URL on any chromecast target, and send any arbitrary messages to it
from a nodeJS cli
:D:D:D:D:D:D:D:D:D:D:D
@jade stone HOW ABOUT THIS
IS THIS "JUST NEAT"?
HUUUUUH
fps is attrocious because its rendering complex subs at 1080p
fancy
it gets way better than this
with this you can simply open any URL
even on your local network
so you can host a LAN only website in your house
and just open it on your chromecast
localhost:3000 on the chromecast π£οΈ
camera streams, dashboards, homeassistant, anything
well yes
instead of localhost you'd do something like 192.168.1.220
your PC's local IP
and that'd work too.
ofc
it is kinda fire
i'm gonna use it to render http urls from my torrent client that you'll be running on your PC or phone
π₯
@young flicker
is that the experimental vite shit?
yeah
idk skill issue, mine is insta
and its like 10MB of code
im doing ~1000 more modules
probably icons
definetly icons
you probs import root dir of some svg icon lib
and it rapes build perf
hmmm
its a cerified hood classic
importing 2k minky pictures
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
KILL ME PLEASEEEEEEEE
I CANT ANYMOREEEEE
TEST IN PROD WITHOUT INSPECTING IS PAIN
lmao thats so ass
i do have a few large deps i'm bundling
(monaco-editor, typescript)
but those should all come pre-bundled
bundling my salad
@supple whale i think i found the culprit
combo of my shitcode and other code
i have some files that i generate at build-time
and they are expensive
i think another vite plugin is making them get generated more than once, even though the output will still be the same
can you not open a debug port or smth
love
How should I cite Git? Who should i provide as author and the title?
no, git as the vcs
like git itself?
yes
torbalds as the author and idek whoever the fuck is the current maintainer after he was done with it
@pseudo sierra
@deep mulch
puter
got codeblocks working with ssr 
Just don't do SSR
why does bun add soooo many specific fairly niche apis https://x.com/i/status/2016733616743862462
just install a library...
i think they want full ecosystem lock-in
so u cant move away once it goes to shit, because you're reliant on bun-only shit
yop
If only they had a debugger
worst of all, is they will gloat "our native C code is 14% faster than this 10 year old JS only library!" like its a good thing
and if you took the time to write the same code in NAPI or Rusty, it'd be x10 faster
[notably that 10 year old JS library runs x3 slower on bun than on v8, which is why they needed to re-write it to native in the first place, so their runtime doesnt look incompetent]
// slander
hop on svelte my G
never look back
it just works
no, unironically you wont be able to write react after u touch svelte, i'd rather be unemployed than go back to react
it burst the bubble of dogshit so much
should have said sveltekit ig
Yes
I don't like svelte in general
salad doesn't like anything
Never tried kit as there was no point because I didn't like svelte
And kit wouldn't change that
salad likes jf, thats about it π
I think I like most things @supple whale dislikes 
well I've seen very few bad takes from him compared to you
istg ur allergic to good takes
now now, react sucks, bun sucks, and jf sucks
those are universal truths
not bad takes
At least we can both agree bun is bad
yeah that I agree with
and jf sucks so much i spent 3 years building my own version, just so i dont need to put up with their BS

i made my own, with blackjack, hookers and anime waifus
π₯
jf as in jellyfin?
yeh
https://github.com/jantimon/react-hydration-rules
@supple whale this but I can't get it to work π
yeah jf is a pita to work with but idk anything better
jesus christ imagine u need 3rd party docs of 100 pages, to document a feature that just works in sveltekit
i aint reading all that, fuck that garbage
"HERE'S THIS COOL, THING, AND 1 WAY TO USE IT CORRECTLY, IF YOU USE IT ANY OF THE 99 OTHER WAYS YOU'LL BREAK EVERYTHING"

reactplosion
1 sec imma do a funny
meanwhile sveltekit
want your route to behave differently?
export const ssr = true
export const prerender = true
export const trailingSlash = 'always'

i love hating on rect
dw sadan i love u
i just hate react
With what I'm doing, not only can you do this, you also have intelligence for all your config options so you don't have to look up docs every time your forget the name of something
writable<Promise<void> | nulll>(null)
ah yes
nulll aka 00 instead of just 0
now with x2 the 0's!
nulll
gm
No, nobody wants 100500 identical libraries that do exact same thing
Next you get other libs that depend on some random markdown library and you have different one
soon bun will have built in discord bot api
make ai resolve identical libraries for u problem solved
@jade stone sloppy
Generate cryptographically secure JWT secret keys instantly. Free online tool with 32-512 bit encryption, 100% browser-based security.
very trustworthy
the thing is it's true it never sends any requests (so the keys generated stat must be fake)

(unless it's just page views ig)
i like the way there's a loading bar at the top that never goees away
Guys, is it possible to get your own user ID in a plugin? I need to check if I'm being mentioned in a message listener
we love protobuf
"outputs for es6 for nodejs"
import proto from "./proto.js"
yes thank you useful
god i hate these libs
how do i do integer factorization for numbers bigger than 1 trillion in javascript in less than 1ms
you don't
i need it though 
is it possible to match an element that has a selection as a decendant
eg: match p because i am selecting text within p
the ::selection pseudo class is weird, and none of the :focus-* selectors work as text is not focused
yeah that just doesnt work
was my first thought
represent the number as a binary buffer
then go number by number
check if u can divide by 2, then 3, then 4
then bitshift/bitmask by those values if you can
then sum app the steps you applied
then...
idk something like that, i imagine that kind of algo would get u most of the way there
Can anyone tell me why Vencord will fail to load if I build it with this user plugin? It's my first attempt, I can do it in the devtools, but making it into a plugin causes Vencord to not even load
const Dispatcher = Vencord.Webpack.findByProps("actionLogger");
Dispatcher.subscribe("MESSAGE_CREATE", onMessageCreate);
const ipcRenderer = Vencord.Webpack.findByProps("isIPCReady");
function onMessageCreate(e: unknown) {
if (!isMessageCreateEvent(e)) {
console.error("Received invalid data:", e);
return;
}
if (!shouldNotify(e)) return;
const notificationConfig = configureNotification(e.message);
ipcRenderer.invoke("NOTIFICATIONS_SEND_NOTIFICATION", notificationConfig);
}
function configureNotification(msg: Message) {
return { title: msg.author.globalName + " says", body: msg.content ?? "" };
}
function isMessageCreateEvent(obj: any): obj is MessageCreateEvent {
return obj?.type === "MESSAGE_CREATE";
}
function shouldNotify(e: MessageCreateEvent) {
const myId = UserStore.getCurrentUser().id;
// Don't push notifications for my own messages
if (e.message.author.id === myId) return false;
// If the message is a DM, push
if (!e.guildId) return true;
// Only push server messages if I'm explicitly mentioned
if (e.message.mentions.some(mention => mention.id === myId)) return true;
return false;
}
export default definePlugin({
name: "NotificationFix",
description: "Restores push notification functionality",
authors: [{ name: "Lucas", id: 315570989117210625n }],
});
i forgot how to destructure factorization
problem is prime nubmer factorization
that will take more than 1ms for sure
you could probably get it under 10ms for sure tho
You should use flux map in definePlugin instead
Top-level findByProps won't work, you should use findByPropsLazy instead for that
Something like that should work:
export default definePlugin({
// ...
flux: {
MESSAGE_CREATE({ message }: { message: Message }) {
// ...
},
}
});
thank you for the help. So I can listen to MESSAGE_CREATE from that flux property? And I need to switch to using findByPropsLazy? Also, do you reckon this plugin can be made native? Because I need to send messages to IPC main to send notifications, right now I'm grabbing a reference to invoke using findByProps
Yes, for top level declarations you should use findByPropsLazy
In already-lazy context (such as proxyLazy/proxyLazyWebpack) you can use findByProps
As for native, heres an example. Next you do const Native = VencordNative.pluginHelpers.<PluginName> as PluginNative<typeof import("./native")>; in your main plugin code and you can call native functions as usual
@frosty obsidian Good afternoon! I am contacting on behalf of GitHub support. We are interested in taking over ownership of your GitHub client "Gloom". Your work on it has been very impressive and we would hate to see it go to waste. In exchange for ownership we can give you lifetime GitHub pro and Copilot Pro+. If you are interested in our offer, please transfer the repository to our admin user "zt64". Thanks!
Just so we're clear, in the example you provided the plugin is running on both renderer and main threads? If so, that's not really what I need. I just need to be able to call invoke or send from the renderer thread
wth is gloom
I believe so
I have no clue how does electron ipc work so i might be not best person to be asked about electron stuff
thanks for the help anyway, this might just do it
abandoned app
why dont they just fork it lmao
link me?
yea
got it working, thanks @shrewd canopy
shame I can't get it to open in the right channel, but it's better than not getting notifications
@deep mulch fix
https://github.com/microsoft/monaco-editor/issues/5162
insane
idk what im looking at
new Set(string[])
It turns the array into a string.split call
Saves a few bytes ig
Never really said it was good
idk i dislike it
a minifer shouldnt alter code
it should minify it
not edit whats ran
I wouldn't consider this altering it
it is
it runs .split()
the original code didnt [i assume]
what if you're patching .split() because u need to support some weird engine that doesnt have it, like tvOS, and it now errors at eval
just hell naw, i dislike it a lot
If your target doesn't support it, you can probably set your target version in the minifier
You can set what syntax the minifier can emit
Also what ancient js engine doesn't have split
tvOS
its a modern engine
^^
well it does now, but it used to not
there are still a fuckload of tvs on old tvos vers
which u cant update
Smh it doesn't even use ```js
str.split.
to save two more bytes
Is that even valid?
It looks like the first argument is passed as an array, not a plain string
Calling convention is string[], ...values
i hate that this works
but yeah its not 2 bytes
Oh
Ig the array gets stringified then? Cuz I've used this multiple times in code golf challenges
not how compression works
yeah no this is valid, it works
hop off windows @jade stone
what kind of laptop do you have
hp omnibook x (snapdragon x elite)
is this arm
yes
hop of arm
nop
use amd64 like a normal person
i like this laptop
i dont
salad insane
salad insane
warning: in the working copy of 'patches/@tanstack__start-plugin-core.patch', LF will be replaced by CRLF the next time Git touches it
diff --git a/patches/@tanstack__start-plugin-core.patch b/patches/@tanstack__start-plugin-core.patch
index 25d16b7..d86f632 100644
--- a/patches/@tanstack__start-plugin-core.patch
+++ b/patches/@tanstack__start-plugin-core.patch
@@ -1,12 +1,12 @@
diff --git a/dist/esm/start-manifest-plugin/plugin.js b/dist/esm/start-manifest-plugin/plugin.js
-index 3ea8ad7aaaa1bf99f6ee75d9d9cd0549b43f42e3..6c00ac88543ebb8440d99549689491f5e1dd1400 100644
+index 3ea8ad7aaaa1bf99f6ee75d9d9cd0549b43f42e3..beb40e1766fba8f39588139710fc29512b999cc7 100644
--- a/dist/esm/start-manifest-plugin/plugin.js
+++ b/dist/esm/start-manifest-plugin/plugin.js
@@ -4,6 +4,7 @@ import { VIRTUAL_MODULES } from "@tanstack/start-server-core";
import { tsrSplit } from "@tanstack/router-plugin";
import { resolveViteId } from "../utils.js";
import { ENTRY_POINTS } from "../constants.js";
-+import { resolve } from "node:path"
++import { resolve, normalize } from "node:path"
const getCSSRecursively = (chunk, chunksByFileName, basePath, cache, visited = /* @__PURE__ */ new Set()) => {
if (visited.has(chunk)) {
return [];
@@ -23,12 +23,12 @@ index 3ea8ad7aaaa1bf99f6ee75d9d9cd0549b43f42e3..6c00ac88543ebb8440d99549689491f5
const clientBundle = opts.getClientBundle();
const chunksByFileName = /* @__PURE__ */ new Map();
const routeChunks = {};
-+ const entryPath = resolve(userClientEntry ?? defaultClientEntry);
++ const entryPath = normalize(resolve(userClientEntry ?? defaultClientEntry));
for (const bundleEntry of Object.values(clientBundle)) {
if (bundleEntry.type === "chunk") {
chunksByFileName.set(bundleEntry.fileName, bundleEntry);
- if (bundleEntry.isEntry) {
-+ if (bundleEntry.isEntry && bundleEntry.facadeModuleId === entryPath) {
++ if (bundleEntry.isEntry && normalize(bundleEntry.facadeModuleId) === entryPath) {
if (entryFile) {
throw new Error(
`multiple entries detected: ${entryFile.fileName} ${bundleEntry.fileName}`
diff of diff file funny
salad loves microslop
salad has windows 11 sticker
@jade stone has Microsoft poster
@jade stone
you
Either cyrillic or its some random character
Check via "<s>".encode() in python interpreter
I'd rather have AI / telemetry and ads everywhere than insecure OS with bloated kernel and unstable packages
??? its because windows uses \ seperators
you are insane
linux
bloated kernel
?????
bloated kernel
can be compiled to be under 1 mb and ran on embedded devices
*Only 2.6 or early 3.x versions
Linux 6 is dead in embedded
i think you're insane
yop
There's billions of drivers and features
Half of drivers are not loaded and features are in kernel itself
Plus nearly all of drivers run in kernel mode
This is discouraged in Windows and almost always you should use UMDF
If I was insane then my router wouldn't be running linux 2.6
Consumer android also uses linux 4.x, but not 5.x/6.x
@supple whale another vite W
when are we doing the sveltekit love session?
gonna make u make out with svelte frfr
my phone says otherwise
HORROR
oh
my exact issue
Describe the bug At suggestion of Netlfiy Support, I'm reporting here also as I have to their repo involving this. It's Vite's new activity of staging deps creation which cases an EPERM...

besides java swing audio stuff nop
I was working on an mpv wrapper but hard
I think you'll have to use an existing java library if there is any that works with navidrome
this library implementation kinda sucks @jade stone will tell you all about it
yop
iirc they made it better recently
but still prob bad (havent tried it)
I should make my kmp tray library
tray stuff shouldn't be tied to compose since it's system level
unhusk
aghh I hate the api so much
fake composable dsl
ths causes me pain
ragebait
yop
least obious ragebait
funny typescript code
β¨β¨```ts
// https://developer.mozilla.org/en-US/docs/Glossary/Falsy
function assert(cond: null | undefined | false | 0 | -0 | 0n | "" | HTMLAllCollection): never;
function assert(cond: unknown): asserts cond;
function assert(cond: unknown): asserts cond {
if (!cond) {
throw new Error();
}
}
typescript doesnt infer β¨β¨asserts falsyβ©β© to β¨neverβ©
you mean like β¨asserts fooβ©, β¨asserts foo is Tβ© and β¨foo is Tβ©
yeh
tbh i use it the most for block-scoped assertions with something like this
you could probably make that safer if you want by making it generic over β¨thingβ© and require it extends T
I want shit like if boolean property on this class is true, then other variable in class is defined
or if promise is settles, the variable in class is defined
or if property in class is true, then this variable is type a otherwise type b
jassub.ts: Line 46
}) & ({
I did this shit but I don't like it
insane syntax
hop on leading β¨&β© and β¨|β©
with indentation
@supple whale can only one of video or canvas be set?
but not both
wouldnt β¨neverβ© work there
HOW
all I know is that it seems to act like noreturn on return type and in expressions acts like any

and it scares me
wait i guess it acts like any in expressions because if you're passing a function which never returns to something it doesn't matter what it evaluates as
probably basically just makes the compiler treat the expression as unreachable (which would include function calls which return it)
@supple whale not sure the exact details of the type, but you can get something like this
you can do more if you care about property presence, but that would come back to bite you at some point
show how?
β¨```ts
export type JASSUBOptions =
& {
timeOffset?: number;
debug?: boolean;
prescaleFactor?: number;
prescaleHeightLimit?: number;
maxRenderHeight?: number;
workerUrl?: string;
wasmUrl?: string;
modernWasmUrl?: string;
fonts?: Array<string | Uint8Array>;
availableFonts?: Record<string, Uint8Array | string>;
defaultFont?: string;
queryFonts?: "local" | "localandremote" | false;
libassMemoryLimit?: number;
libassGlyphLimit?: number;
}
& (
| {
video: HTMLVideoElement;
canvas?: never;
}
| {
canvas: HTMLCanvasElement;
video?: never;
}
)
& (
| {
subUrl: string;
subContent?: never;
}
| {
subContent: string;
subUrl?: never;
}
);
you also get source errors if you try to set both at once
(not sure if that's just in object literals tho)
least cursed template literal
does fortran have better tooling than c++ π https://fpm.fortran-lang.org/
insane
it is much more than slightly esoteric 
ryan is following me everywhere
I am the watcher on the walls
it is peak
Heh I thought this was a gaming channel at first
whatever made you think that
This is the grammar channel where we discuss professional grammars
turns out you can even just use print instead of format t
t = true and format with true goes to stdout
tbh thinking about it lisp's syntax is probably better for representing an ast rather than actually writing
where has this extension been my whole life
do u guys think this should be done via a patch? https://github.com/Vencord/plugin-requests/issues/518
or do we do it better
β¨β¨```typescript
/*
- Vencord, a Discord client mod
- SPDX-License-Identifier: GPL-3.0-or-later
*/
import { Devs } from "@utils/constants";
import definePlugin from "@utils/types";
export default definePlugin({
name: "DirectlyDownload",
description: "Skip opening an empty browser tab and directly downloads the file",
authors: [Devs.Immabigboil],
onMessageClick(msg, channel, event) {
const url = msg.attachments?.[0]?.url;
if (!url) return;
event.preventDefault();
const a = document.createElement('a');
a.href = url;
a.download = '';
a.click();
return true;
}
});
what if a message has more than one attachment
surely it can't be that hard to just figure out the attachment index
your best bet would probably be if β¨event.targetβ© is an β¨aβ©, if not, a patch would probably be best
insane
also this looks like it will just download the attachment if you click a message in general
use a patch
sorry for flashbanging anyone in euroope
who could have guessed adding caching to my rollup plugin would make the build 2x faster
this isn't just build times
also dev time as well
site loads 10x faster in dev
yeah that's what I did beforehand no?
no
with what you had earlier, it was valid for the user to pass both
this gives a typescript error if they do that
plus it provides more strict narrowing
oh yeh that's okay
learned satisfies
satisfies is goated
?remind 6h
Alright @placid igloo, in 6 hours: β¦
wait that's really cool I didn't know this was a thing
trully
its life changing
obligatory mention of:
https://marketplace.visualstudio.com/items?itemName=iliazeus.vscode-ansi for viewing colored log files
https://marketplace.visualstudio.com/items?itemName=bierner.comment-tagged-templates for syntax highlighting and styling in string literals:
I ported nanoid from js to go but still not sure if nanoid for primary key is a good idea 
was fun though
I wrote a super compact nanoid implementation in Rust at one point
β¨β¨```rust
use rand::distr::{Distribution as _, slice::Choose};
static ALPHABET: [char; 64] = [
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4',
'5', '6', '7', '8', '9', '_', '-',
];
pub fn nanoid(len: usize) -> String {
Choose::new(&ALPHABET)
.unwrap()
.sample_iter(&mut rand::rng())
.take(len)
.collect()
}
bro is using rollup in the big 26 ππππππππππππ
what the fp is this
i love imperative solutions <3
(you better remember grow or it does unnecessary allocations)
(and yep this is copied pretty closely from the js version)
Your js(18.15.0) code ran without output @winged mantle
/run
Here is your js(18.15.0) output @winged mantle
FizzBuzz
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29```
i love js obfuscation
pricks
some1 was fucking my api
not that it did much since i was already caching and ignoring strings
but now just to block it for good measure :)))
worst part is its a botnet
its from all over the world
currently torturing claude by making it write 28kb of base64
why?
why?
as in why am i asking why?
torture
@placid igloo, <t:1769868136:R>: β¦
...
from what iβve seen of the #π-textreplace-rules history, yβall might enjoy this
~u9000/share-bookmarklet - A bookmarklet to copy a Markdown link to any site, including alternate frontends - sourcehut git (archive)
basic c solution in less lines (not counting blank) and no third party libraries
β¨β¨```c
#include <stdbool.h>
#include <sys/random.h>
#define ALPHABET "abcdefghijklmonpqrstuvwxyzABCDEFGHIJKLMONPQRSTUVWXYZ0123456789-_"
bool nanoid_generate(size_t len, char output[len]) {
char random_bytes[len];
if (getrandom(random_bytes, len, 0) == -1)
return false;
for (size_t i = 0; i < len; ++i)
output[i] = ALPHABET[random_bytes[i] & 63];
return true;
}

Isn't size_t part of stdlib.h ?
is β¨randβ© really a third party library 
tbf random.h isn't part of the c standard library either
β¨β¨```rust
use rand::distr::{Distribution as _, Uniform};
static ALPHABET: &str = "abcdefghijklmonpqrstuvwxyzABCDEFGHIJKLMONPQRSTUVWXYZ0123456789-_";
pub fn nanoid(len: usize) -> String {
Uniform::new(0, 64)
.unwrap()
.sample_iter(&mut rand::rng())
.take(len)
.map(|i| ALPHABET.chars().nth(i).unwrap())
.collect()
}
it;s probably less efficient than the impl before though
Technically it's just a Convenience to avoid Reading /dev/random directly.
here's my one liner version
β¨```rs
use rand::distr::{Distribution as , Uniform};static ALPHABET: &str = "abcdefghijklmonpqrstuvwxyzABCDEFGHIJKLMONPQRSTUVWXYZ0123456789-";pub fn nanoid(len: usize) -> String {Uniform::new(0, 64).unwrap().sample_iter(&mut rand::rng()).take(len).map(|i|ALPHABET.chars().nth(i).unwrap()).collect()}
both β¨β¨rand()β©β© and β¨β¨srand()β©β© are included in β¨β¨stdlib.hβ©β©
I was talking about Rust rand
ofc lol my bad
rand in C is pretty pathetic
without seeding it you always get the same values
not random at all
@young flicker wyd with zig
girl did something weird with memory
whats a qapp
oh so u
(imagine that's a trans heart)
what sent the sigsegv?
(use the debugger)
no use the debugger to trace it
if you want to hop on vc I can help
paige is a soundboard
fair
qute
lmao the debugger makes my inlay hints just awful to read
I have no idea what's going on in that picture lmao
are we sure β¨qtcβ© is an object?
I hate that
can you trace it harder? /hj
is this maybe in a different file than New()?
I just noticed that β¨qapplicationβ©is
- lowercase but has a constructor
- a struct but has a constructor
I hate this
before you return, could you please log β¨&qtcβ©, β¨qtc.QApplication_newβ©, β¨&argc_paramβ©, and β¨&argv_paramβ©
oh I just saw this
not using my xcode theme smh
what is going on here?
oh can you log β¨&argcβ© and β¨&argvβ© then?
no I mean with β¨.Debugβ©
what is the dot doing hanging out there?
apparantly doesn't like zig
weird
languages like rust usually know the type that way as well
see I joke but I'm actually serious
objshell: object-oriented, duck-typed, interpreted language with Go-style error handling and fail-fast exceptions (archive)
very cool
sorry I'm back I dropped my computer
I wrote that description months ago and now it just looks like buzzword spam
mayhaps go? (/s)
r?
lisp, even?
POSIX Shell ++
(not bash fuck bash)
kotlin is alright
I haven't tried swift
it might be a problem of the people who made the wrappers unfortunately
ive been learning (or trying to learn) zig recently so I dont have to use rust
cute
isnane
i think id take c++ over zig any day
- Duck typed regular variables. You can store, for example, both the maximum value and the boolean of whether thereβs a maximum value as the same variable.
Why didn't I just write stringly typed?
honestly from working with a rust codebase for so long I got really tired of reading/writing for it
no, i can get that, it's just zig that i dont really understand
seems too insane, even for me
ehhh
i like it as much as i like c++
they both have features that i love
i like checked generics in rust
and the build system is good
but lambdas in rust are terrible compared to c++ lambdas
and async can get really convoluted
yesterday I spent some time learning how you would even structure a zig codebase and stuff like this confused me a lot
its a bit strange
very
just get everything
I am actually cringing at the readme
wtf, me?
@young flicker I have a zig build thing that generates an xcframework
its so awesome I think
cache so smol
rust could never
add ai
idek
@young flicker
sammy wammy
smooth
want to help me make a userscript to add a β¨β¨/slapβ©β© command to cinny?
it's surprisingly complicated π
@young flicker wyd
why is everybody trans wth
no but have you considered matrix api + random js client bullshit???
OH MY GOSH I HATE THAT DISCORD DOESN'T SHOW THE REPLY BUTTON ON YOUR OWN MESSAGES
insane
yeah I decided to file a issue instead seems like a much higher probability of success
@young flicker hiiii
what is?
I honestly did not expect the vencord server to be a bunch of queer leftists π
I meant to use an emoji there oh well
pretend this is a reply to the reaction
@patent vortex why π?
pretend this is a reply to the reaction
also how tf is matrix better than discord at something?
just funny for no particular reason trolleyzoom
like come on it's matrix
i run a tuwunel homeserver
is that reliable?
couldn't find a good public one
welcome to hang out with my friends and me if you'd like you seem nice
might join later when i get cinny working again
no but seriously why is the vencord discord so trans/leftist
(not complianing just pleasently surprised)
welcome to the client modding community
theres a vencord plugin for this
vp reply
there's ShowAllMessageButtons which does fix it, but ironically that hides the react button(s)
i dont use that
i forget whats called
Enabled Plugins (87):
AlwaysAnimate, AlwaysTrust, WebRichPresence (arRPC), BetterFolders, BetterNotesBox, BetterRoleContext, BetterSettings, BetterUploadButton, BlurNSFW, CallTimer, ClearURLs, ConsoleJanitor, ConsoleShortcuts, CopyEmojiMarkdown, CopyFileContents, CrashHandler, Experiments, ExpressionCloner, F8Break, FakeNitro, FakeProfileThemes, FavoriteEmojiFirst, FavoriteGifSearch, FixYoutubeEmbeds, ForceOwnerCrown, FriendInvites, FriendsSince, FullUserInChatbox, GifPaste, GreetStickerPicker, HideMedia, ImageZoom, ImplicitRelationships, LoadingQuotes, MemberCount, MentionAvatars, MessageLatency, MessageLogger, MutualGroupDMs, NewGuildSettings, NoDevtoolsWarning, NoF1, NoMosaic, NoUnblockToJump, PermissionsViewer, PictureInPicture, PinDMs, PlainFolderIcon, PlatformIndicators, PreviewMessage, QuickReply, ReactErrorDecoder, RelationshipNotifier, ReverseImageSearch, ReviewDB, RoleColorEverywhere, Summaries, ServerInfo, ShikiCodeblocks, ShowConnections, ShowHiddenChannels, ShowHiddenThings, ShowTimeoutDuration, SilentTyping, SortFriendRequests, SpotifyControls, SpotifyCrack, SpotifyShareCommands, StickerPaste, SuperReactionTweaks, TextReplace, ThemeAttributes, Translate, TypingIndicator, TypingTweaks, Unindent, UserVoiceShow, ValidUser, VoiceChatDoubleClick, VencordToolbox, ViewIcons, ViewRaw, VoiceMessages, VolumeBooster, WebKeybinds, WebScreenShareFixes, WhoReacted
```**Enabled UserPlugins (12):**
AntiTessie, ComponentDemangler_, CopyStatusUrls, CtrlEnterSave, DevtoolsInPopouts, EmojiOnMouseUp, PlayAllCodecs, UnitConverter, StaticTitle, UrbanDictionary, UserDevCompanion, SpotiMbed
one fo those
i wouldn't read too much into this role it's just a silly meme role
thanks! must be one of the userplugins β time to compile vencord web I guess π
i can tell you now it's not any of the userplugins lol
i really need to make a plugin bisection menu lol
anything u want
salad making up words
why did you ask anyway are you moving to iced
No Definitions Found
@tiny copper fix
using https://dictionaryapi.dev/ currently
anything productive you've been pushing off doing?
if you're already bored might as well be productive while bored
@young flicker
why do you guys keep randomly @ing each other?
@deep mulch
what font is that?
excellent choice deleting that (/j)
reminds me of the time a teenager joined freenode general chat and said something was "sus" with emojis, and then immediately got trout slapped by most everybody
what did they say?
it's comic code with ligatures



