#πŸͺ…-progaming

1 messages Β· Page 94 of 1

lucid trail
#

actually diabolical

#

you should probably put that in postinstall

#

need to run sveltekit sync to generate types

pearl dawn
#

pluh transcribe endpoint is on the other api i cba to log in to that rn

balmy lintel
#

wirklich richtig schlimm

#

really bad*

pearl dawn
#

a fix addressing this critical issue is out on gramo fone now

valid jetty
#

Iterator.from(['a', 'b', 'c']).reduce((acc, x, i) => acc + (i > 0 ? ', ' : '') + x, '');

#

no intermediate array

#

this is technically intersperse

fleet cedar
#

No thanks I value my sanity

royal nymph
#

.join(", ")

fleet cedar
#

Would be surprised if the jit doesn't optimize out the intermediate array anyway

royal nymph
#

or .joinToString(", ") if u want to be more explicit (but that doesn't match the array join)

valid jetty
#

alternatively Iterator.from(['a', 'b', 'c']).flatMap(x => [', ', x]).drop(1).toArray().join(', ')

#

but that does toArray

fleet cedar
#

Yeah that sure avoids intermediate arrays

valid jetty
#

wait

#

fuck

#

oops

#

idk in elle you can basically do that :3

fleet cedar
#

Also

#

/run ```js
console.log(Iterator.from(['a', 'b', 'c']).flatMap(x => [', ', x]).drop(1).toArray().join(', '))

rugged berryBOT
#

@fleet cedar I only received js(18.15.0) error output

/piston/jobs/468d2c37-d470-471f-a293-1e45d5c191a5/file0.code:1
console.log(Iterator.from(['a', 'b', 'c']).flatMap(x => [', ', x]).drop(1).toArray().join(', '))
            ^

ReferenceError: Iterator is not defined
    at Object.<anonymous> (/piston/jobs/468d2c37-d470-471f-a293-1e45d5c191a5/file0.code:1:13)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.15.0
fleet cedar
#

Huh?

valid jetty
fleet cedar
#

Anyway, that gives triple commas

valid jetty
#

Iterator.from(['a', 'b', 'c']).flatMap(x => [', ', x]).drop(1).reduce((acc, cur) => acc + cur, '')

#

/run

Iterator.from(['a', 'b', 'c']).flatMap(x => [', ', x]).drop(1).reduce((acc, cur) => acc + cur, '')
rugged berryBOT
#

@valid jetty I only received js(18.15.0) error output

/piston/jobs/2f9fbcef-d7b1-433f-a493-3a94e18b1718/file0.code:1
Iterator.from(['a', 'b', 'c']).flatMap(x => [', ', x]).drop(1).reduce((acc, cur) => acc + cur, '')
^

ReferenceError: Iterator is not defined
    at Object.<anonymous> (/piston/jobs/2f9fbcef-d7b1-433f-a493-3a94e18b1718/file0.code:1:1)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.15.0
valid jetty
#

node 18 lol

fleet cedar
#

Mdn says that's in node 22

valid jetty
#

yea

#

i had to update from 19 to use it

royal nymph
#

wtf is github cooking

solemn ravine
royal nymph
#

ya but the ui isn't very great xD

#

even on desktop it was going out of bounds for me

solemn ravine
#

maybe ur toooo zoomed in

supple whale
#

for me, the worst thing, is that typescript doesnt support JSDoc's @throws

#

so there's no way of statically analysing if we're not catching errors or not

#

i've been looking for a solution to this for almost half a decade now

#

and still no go

#

this error shit u mentioned can be mostly worked around, by allowing to only throw errors, which then lets u assume that only errors are thrown

lavish frigate
#
fn error() -> Result<_, Error> {
  Err(Error::new())
}

fn main() {
  let result = error();

  match result {
    Ok(_) => {},
    Err(e) => match e.kind() {
      Error => {...},
      _ => // what the fuck are u throwing man
    }
  };
}
#

bonus points if you actually dont return an error but return Result<_, String>

royal nymph
#

ulgy

royal nymph
#

even before classes they could have done some kind of duck typing and made it so you can only throw "ErrorLikes" (an object with a "message" property)

native spruce
nimble bone
frosty obsidian
#

Jolly

visual terrace
#

ok, used github and it worked

#

annoying tho

#

i have to manually fix

#

instead of having free labour do it for me for 0$

#

SOYCIETY!

austere idol
ornate quiver
#

no

#

because of csp

balmy lintel
#

what

native spruce
#

No im showcasing an animation i did

royal nymph
#

(also csp isn't why they can't use local resources)

#

hilariously unintended

lavish frigate
#

i respect it

jade stone
royal nymph
#

no

lavish frigate
#

sucks can you please add path traversal

jade stone
dense sand
#

Any pano scrobbler alternatives guys?

royal nymph
#

why

dense sand
#

It wont even scrobble when having it open...

#

I tried to get all the potential fixes, but still nothing

royal nymph
dense sand
#

Ii thought it would atleast scrobble when its open... But no

royal nymph
#

whats ur oem

dense sand
#

Xiaomi

ionic lake
#

ah the classic

supple whale
spark tiger
supple whale
#

i have never seen the term scrobbler in my life ngl

#

i see its some music app

#

but idk what problem it solves

royal nymph
#

scrobble = stream = play

#

Scrobbling now

winged mantle
#

I got this book and I'm worrying if it was worth it (50 gbp / 65 usd 😭)

#

cool cover though...

#

also got "laws of ux"

#

HORROR why is it talking about using a makefile with go

#

also does not mention installing go with package manager on linux

#

but it does recommend chocolaty and brew on windows and mac respectively

#

still seems like good book

#

also i do love makefiles

#

❀️

#

but i never saw it used with go

solid gazelle
#

65 usd for something you could pirate

winged mantle
#

book piracy is called shoplifting

#

i like having physical book

#

I am wondering if i should've used go for my moderation discord bot in typescript

#

attempting to rewrite it probably not worth it though

#

maybe i should start with trying to do a smaller modmail bot project i did in rust in go

#

by start i mean... after i've done plenty of less crazy stuff

#

but still... it's not like typescript is bad (IMO)

#

rust isn't bad either... but this is an easier project just to rewrite for fun but possibly keep using rust for anyway

#

though idk i do not like the compile times

#

that's my biggest issue with rust and c++

winged mantle
#

i don't like how go playground doesn't dim comments

#

i don't really care that it's missing syntax highlighting but having comments look like the rest of the code is actually confusing

hoary sluice
winged mantle
#

yeah

#

the former is much more likely too

winged mantle
#

the cursor often moves backwards while you're typing forwards

#

the text is inserted fine but the blinking line moves backwards

spark tiger
winged mantle
#

can't find anyone having the same issue on google

fleet cedar
shrewd canopy
ornate quiver
austere idol
dense sand
hoary sluice
supple whale
#

its an async iterable, not a sync iterable

#

that'd block the entire thread

#

strictly its possible, but i'd advise against it

#

there are ways to convert promises into sync calls using atomics, but i'd only ever use it inside workers

dense sand
# supple whale for await const chunk of stream

trynna read server.properties from docker container:

async function streamToString(stream: NodeJS.ReadableStream) {
  const chunks = [];
  for await (const chunk of stream) {
    chunks.push(Buffer.from(chunk));
  }
  return Buffer.concat(chunks).toString("utf8");
}
const container = docker.getContainer(id);
const stream = await container.getArchive({
  path: "/data/server.properties",
});
const content = await streamToString(stream);
const properties: Record<string, string> = {};
for (const line of content.split("\n")) {
  const [key, value] = line.split("=");
  if (key && value) {
    properties[key.trim()] = value.trim();
  }
}

cant tell how effective this is though

supple whale
#

performance wise?

#

this is awful

#

and i personally would never allow this code

dense sand
#

damn

supple whale
#
  1. the stream should be utf8 encoded, instead of converting the chunks to an uft8 blob at the end, that's way too expensive
  2. buiffer concat is insanely expensive
    rest is fine
#

but its already way better than like 90% of devs i've seen do the same thing

#

also that buffer.from

#

i should twist ur balls for that

#

you're copying data for no reason

#

you're legit just creating a memory copy, when its not needed

#

its like

auto obj = new object()
auto copy = new object.from(obj)

like why are u allocating twice XD

supple whale
#

so you dont know if it even supports an encoding option

dense sand
#

yea

supple whale
#

okay

#

here's what i'd do:

dense sand
supple whale
#
// global constant somewhere
const decoder = new TextDecoder()

// to text function
    const data = new Uint8Array(length)
    let offset = 0
    for await (const chunk of stream) {
      data.set(chunk, offset)
      offset += chunk.length
    }
    return decoder.decode(data)
#

this should be perfect for those very existing server.properties files which are 10GB in size

#

XD

dense sand
#

yes there will be definitely one of this size!

supple whale
#

this is "best practice" shit when it comes to handling memory in JS, what you wrote is perfectly usable for 1 kb file

dense sand
#

tbf i cant even tell if the ReadableStream contains the file contents

#

its just an assumption

supple whale
#

yeah

#

i'm just busting ur balls tbf

#

because your code is perfectly fine

#

i'm just used to handling insane large filesizes in node, so this kind of optimisation shit is written in blood for me at this point

dense sand
#

anyways its shouting at me

supple whale
#

ah right

dense sand
supple whale
#

i forgot the nodejs types are dogshit and dont support generics

dense sand
#

or like

supple whale
#

i remember why i wrote my own types for nodejs

dense sand
#

should i just as unknown as any

supple whale
#

welp, chunk as Buffer it is then

dense sand
#

i should write some tests for this before it becomes too much of a mess

supple whale
#

haha

#

yeah thats the problem with 🐢 libs

#

you cant do static analysis

supple whale
#

cuz @types/node is a fucking joke

#

and i'm sick of re-implementing types myself

supple whale
#

you could just do

#
let str = ''
stream.setEncoding('utf8')
for await (const chunk of stream) {
  str += chunk
}
#

miiight work

#

idk about the perf of it, i never checked how nodejs handles string conversion on streams

#

i know for native its faster for <1024 bytes, but for >1024 bytes textencoding is faster

dense sand
#

like this doesnt even make sense?? why does it return a stream...

#

theres not supposed to be not

#

but like

#

why?!

#

whats the purpose of it 😭

supple whale
#

is the stream an http status response?

#

like the body which returns ok?

#

XDDD

dense sand
supple whale
#

yeah but i mean its contents

dense sand
#

but i mean its probably based on docker rest api so i wouldnt evne be surprised

supple whale
#

it probably just returns the return of http.post

#

which is a stream

#

which is either empty or a status response of REST

#

XD

dense sand
supple whale
#

πŸ’€

#

dogwater lib

dense sand
#

from the getArchive i mean

#

i mean this is what the docker rest api returns

#

so its not really a libs fault

#

i hope its possible to create a extract a tar archive without creating temp file

supple whale
#

in js?

#

well

#

unencrypted and uncompressed files can be zero copied

#

zip-go does that

#
#

its not the fastest lib, but its the smallest, cross platform and zerocopy

dense sand
#

does it support tar archives?

supple whale
#

honestly?

#

never tried

#

it might?

#

if it doesnt, you could just pipe the stream tru a decompressionstream

dense sand
#
supple whale
#

mafintosh

#

yeah

#

that's probably a good lib

#

worked with the guy a lot

#

b4a

#

eh, him and his libs

#

eh its a streamx stream

#

so it might be fucky

#

but should work for the most part

#
#

thius is probably better for u

#

this guy and his streams

dense sand
#

gr8

#

thaks

carmine basin
#

is there a plugin thats a gif folders thingy?

carmine basin
spark tiger
#

vns

elder yarrowBOT
carmine basin
#

thanks e thug

dense sand
#

@supple whale do you work with Bun? if yes, do you think its a good idea to go with their test framework or should i use smth like jest

#

i use primarily bun in my app

supple whale
#

why

dense sand
#

oh but thats a different readablestrream...

supple whale
#

again its just

let str = ''
stream.setEncoding('utf8')
for await (const chunk of stream) {
  str += chunk
}
#

i dont use bun because from my experience its unstable, and doesnt support a lot of apis correctly

#

which is.... supposedly a controversial take, according to many people

lavish frigate
#

its not a controversial take, it does support apis correctly they just made changes to the apis 😭 if you dont know the difference between intentionally making a change and bugs/breaking something thats on u 😭 😭

royal nymph
supple whale
#

i dont like platform specific code tbf

royal nymph
#

i mean in a library sure

#

but if you're targetting desktop no reason not to use node stuff

dense sand
#

i aint working on this today

supple whale
#

actually

#

imma look at node's code for this

#

shocker

#

its the same code as i sent u

#

XDDDDDDDD

#

this is the same as i've written previously

#

jsonisnt even streamed

pearl stagBOT
supple whale
#

and didnt repsect the license

#

at least its compatible with node

#

EKHEM BUN

royal nymph
supple whale
#

ooooooooooh

#

you're right

royal nymph
#

just use ndjson if u need good streaming tbh

#

json isn't really suitable for streaming cause what if you have json like this:

{
  "massive-prop": [
    // 3 billion elements
  ]
}
supple whale
#

yeah i know

#

i just avoid json as a cancer when it comes to streaming text

royal nymph
#

ndjson is neat tbh

#

but i never used it

royal nymph
#

you can just read it line by line

supple whale
#

protocols did it right 30 years ago

#

just new line delimited utf8

lavish cloud
winged mantle
#

i love go so far

#

:gophertroll:

#

my be preemptive buit it seems like something that could easily become my favourite language

supple whale
#

its a good language

#

but the best way i'd describe it is "there's only 1 way to write a solution"

#

and i dont like that

#

i like my giga flexible js

#

the biggest part of it tho is probably the packages

#

its very npm like, which is an outlier for native code

#

it doesnt feel like native code thanks to that

#

like, you just run compile.... and it fucking compiles

#

imagine that for C

#

black magic

winged mantle
#

instead of having return implicitly return everything

#

also it 's wacky how defer can only modify return value if it's a named value

supple whale
#

yeah

#

go also has a lot of "traps" because of the weird async nature of it

#

its syntax is quite a bit different than a lot of languages, it abstracts away a fuckload of complexities of async operations, which is fucking amazing, but boi should you not fuck up your declaration syntax or you'll introduce a lot of vulns xD

#

but if i had to learn any native language, it'd probs be go tbf

#

rust would be second, if not for the insanely overcomplicated syntax

#

i'm still not sure if bytecode compiled js should count as native tbf

winged mantle
#

I feel like rust is less natural to program in than many other languages and needs more practice to convert your mental model of a problem into code

supple whale
#

yep, i 100% agree

#

it makes you feel like you're the tool, not the language

winged mantle
#

and I feel weird writing stuff in rust that's not completely performance critical

supple whale
#

meanwhile go feels like a tool that solves all problems for you

#

where as in rust you're the one solving the problems

#

it sucks

supple whale
#

just because of the complexity

lucid trail
#

The easy to write/performance ratio is unmatched

supple whale
#

yeah the fact we still dont have "just make this function threaded" in js is insane

#

there are libs for it, but imports and shit get fucky

supple whale
#

parallel

lucid trail
#

there are libraries that can do that??

supple whale
#

concurency we have via async and event loop, but it kinda fake

supple whale
#

at least not inline

#

in separate files, sure i wrote libs like that too

#

but not inline

#

like go can

lucid trail
#

js is like the most single threaded thing ever

supple whale
#

i think we touched this topic b4 here

#

almost all of the w3c API's are multithreaded

#

but ecmascript itself is single threaded

#

which sucks

lucid trail
supple whale
#

fetch, fsa, blob, crypto, compression, bluetooth, etc etc

#

all that shit is multithreaded

#

but shit like arrays, typed arrays, pritmitives, iterables etc are all single threaded

shrewd canopy
whole basin
#

Okay while looking at firefoxes advanced preferences I found this "extensions.signatureCheckpoint" does anyone know what it does

signal oakBOT
# nimble bone @grok what does this do

The "extensions.signatureCheckpoint" preference in Firefox relates to extension security.

It likely verifies the digital signatures of extensions during startup or updates. This helps ensure extensions haven't been tampered with and are from a trusted source. I hope this helps!

Who Asked

@nimble bone

ornate quiver
#

go is very simple but it is NOT easy

ornate quiver
#

looks like a max line length limit thats too low?

ornate quiver
#

yeah it doesn't really solve anything

#

if it feels like it makes it easier that's because the complexity is hidden elsewhere

winged mantle
#

gender is not implemented

#

ig OTHER could just be default

#

why does any number automatically fit into Gender

lavish frigate
#

Woke

#

I store my genders as booleans

winged mantle
#

republican voting developers with the most horrific "anti-woke" database schema

lavish frigate
winged mantle
#
CREATE TABLE husbands (
    id SERIAL PRIMARY KEY,
    wife SERIAL REFERENCES wives
);

CREATE TABLE wives (
    id SERIAL PRIMARY KEY
);
#

probably not valid

lavish frigate
# lavish frigate basically
pub struct Person {
  pub name: String,
  pub age: i128,
  pub is_female: bool,
  ...
}

fn somewhere() {
  let person = get_some_person();

  if person.is_female {
    apply_privilege(person);
  }
}
winged mantle
#

why are rust developers alcoholics

lavish frigate
#

idk

winged mantle
#

pub

lavish frigate
#

im non woke in the woke way yk

still jolt
#

wasn't expecting the new csp changes to also break my favourited gifs from GifCollections, that's quite annoying

#

guess time to patch vencord again

spark tiger
winged mantle
#

i like the way these random values are always the same

#

rand.Intn moment?

fleet cedar
#

/run ```py
print(bytes.fromhex("21 27 27 29 21"))

rugged berryBOT
#

Here is your py(3.10.0) output @fleet cedar

b"!'')!"
winged mantle
#

yep just like c

#

/run

package main

import "fmt"

func main() {
    fmt.Println(iota)
}
rugged berryBOT
#

@winged mantle I only received go(1.16.2) error output

# command-line-arguments
./file0.code.go:6:17: undefined: iota
winged mantle
#

bad

#

/run

package main

import "fmt"

var i = 0

func iota() int {
    i++
    return i
}

func main() {
    fmt.Println(iota())
    fmt.Println(iota())
}
rugged berryBOT
#

Here is your go(1.16.2) output @winged mantle

1
2
winged mantle
#

iota you can use outside of constants

#

πŸ’ž

shrewd canopy
spark tiger
#

by default

tawny fjord
#

/run

#include <iostream>
using namespace std;

int main() {
  cout << "vencord epic!!!!11!";
}
rugged berryBOT
tawny fjord
#

Tf

#

/run

#include <iostream>
using namespace std;

int main() {
  cout << "vencord epic!!!!11!";
}
rugged berryBOT
#

Here is your c++(10.2.0) output @tawny fjord

vencord epic!!!!11!```
tawny fjord
#

Ohhhh

#

U have to put c++ or py

fleet cedar
#

Yeah how else would it know what language it is

#

(I guess you could use a llm for it but that's husk)

austere idol
#

/run

#include <iostream>
template<typename T> void _print(T x) { std::cout << x; } template<typename A, typename... B> void _print(A a, B... b) { _print(a); _print(" "); _print(b...); } template<typename... T> void println(T... args) { _print(args...); _print("\n"); }

int main() {
  println("MEOW!");
}
rugged berryBOT
#

Here is your cpp(10.2.0) output @austere idol

MEOW!
austere idol
# lavish frigate horrible

no, its actually BEAUTIFUL!

template<typename T> void _print(T x) { std::cout << x; }

prints out one thing

template<typename A, typename... B> void _print(A a, B... b) { _print(a); _print(" "); _print(b...); }

overloads the first thing and accepts multiple args until only one is left, then the first function is used instead

template<typename... T> void println(T... args) { _print(args...); _print("\n"); }

is self-describing

lavish frigate
#

horrible

hoary sluice
#

whats so cool

austere idol
#

yep

#

:3

lavish frigate
lavish frigate
#

use std::*;

fleet cedar
#

Most stuff in std::* is already in the prelude, except the modules

dawn ledge
lavish frigate
winged mantle
#

rust developers have no sense of humour

lavish frigate
#

yep thats why they are the most productive ones

winged mantle
#

rust more like husk

royal nymph
winged mantle
#

i love go's named retursn

winged mantle
#

go is the only language i've seen where using pointers is deemed a premature optimisation though

lavish frigate
winged mantle
#

if go can optimise it i'm chill with that

#

but if not that's horrific

lavish frigate
#

i just see go as another one of those useless languages because they have nothing to set themselves apart and i know this for a fact about go because all go devs ever boast about is compilation speed like that matters Clueless and i dont plan for working at google anytime soon so there are also virtually no jobs that require it

winged mantle
#

if you have this and it copies the whole stack data that's horrific

func (s MyStack[T]) Length() int {
    return len(s.data)
}
winged mantle
#

😭

lavish frigate
#

id agree if that was true! sadly even as a rust dev ive yet to run into that and now with dioxus support more and more projects are slowly implementing hotpatching so making changes in something with bevy is sub second, practically instant

winged mantle
#

it depends how fast your computer is

#

seems like it was more like 20 seconds

#

still pretty annoying for debugging

#

and this is a relatively small codebase

#

honestly with rust it feels pretty rare to acutally need to use it lol

lavish frigate
# winged mantle it depends how fast your computer is

my computer is built for raw GAMING ‼️ ‼️ ‼️ the x3d chip inside would rather kill itself than run something that is not a game (i move files and i instantly get a temp spike + slowdown) so its very much average in tasks like compilation

lavish frigate
#

sure i can make a programming language/webserver/discord bot/cli tool/whatever in fucking typescript/go/even c++ but also no reason to use those either and with rust i get the extra speed + the safety is nice and always a big+

#

and of course personal reason im most comfy with it

winged mantle
#

i find it weird when people use rust for something simple where there's not really a benefit to using a gc free language

#

or anythign really

#

feels like premature optimisation when you already know it doesn't need to be optimised lol

#

though I do understand that some people might simply like the language

lavish frigate
#

you are missing that rust isnt an optimisation its a language
you can twist your argument around and just say "i find it weird when people use go for something simple where there's not really a benefit to using a fast compiling language"

winged mantle
#

not really

#

this is about gc and i think lack of gc can make a big difference to how you need to approach problems

lavish frigate
#

"i find it weird when people use typescript for something simple where there's not really a benefit to using a typed language"
"i find it weird when people use javascript for something simple where there's not really a benefit to using a browser optimised language"
.........

#

its all the same

winged mantle
#

IMO borrow checking based languages or languages with memory management always have the biggest barrier

lavish frigate
#

yea sure they do

#

i agree with you on that

winged mantle
#

types are something you always think about even in a non typed language, at least i hope

lavish frigate
#

but also once i learned how to properly use the borrow checker i stopped having problems with it, after that it just comes down to logic/thinking errors

winged mantle
#

@lavish frigate try programming with vala

lavish frigate
#

Why

winged mantle
#

best lang

#

made by gnome

#

nobody uses for anything other than gtk apps

shrewd canopy
winged mantle
#

actually having first class events is kind of cool

lavish frigate
winged mantle
#

i dislike 8 width tabs

lavish frigate
winged mantle
#

wait idk that it's officially a gnome thing

#

it's probably older than you though: https://en.wikipedia.org/wiki/Vala_(programming_language)

Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.
Vala is syntactically similar to C# and includes notable features such as anonymous functions, signals, properties, generics, assisted memory management, exception handling, type inference, and foreach statements. Its d...

lavish frigate
#

you know its premium slop when they have an older maintained version with unmaintained versions in between

pseudo sierra
#

vala is so ass

supple whale
#

its like swift

#

just... weirder

pseudo sierra
#

it's python flavored c#

lavish frigate
#

can we stop with the x flavoured y languages i hate all of them

#

microsoft flavoured java

peak hull
royal nymph
#

explosion

#

is this the right replacement idek

#

oh it should be beforeend

spark tiger
#

rider is so fye - i checkout a branch and audio in my whole os disappears

native spruce
#

@young flicker its over man

#

its actually over

#

they lost it

spark tiger
#

what even is that macro

native spruce
spark tiger
#

and how do you use ios 19 without quotes

spark tiger
spark tiger
#

yeah but like i’m not really sure what iOS 19 is. if it’s a string, then why is there no quotation signs. if it’s some const, then why does it have a spacebar

native spruce
#

it is not a string

spark tiger
#

is it kinda stuff u can do with macros in swift

native spruce
#

i cant expand it or view info on it in the editor, but all I can say is that I can do stuff like

if #available(watchOS 5, *) {
}
#

I suppose it takes in an enum and a floating value

spark tiger
#

thanks

#

rosie hasn’t talked for two days, insane

solemn ravine
#

also * is a wildcard, meaning for potentially future versions also run as well

#

dont know exactly what it is

spark tiger
#

most likely they'll just fix it to be iOS 26

#

that's just the first developer beta

jade stone
supple whale
#

just.....

#

apply the same rounding as the image?

#

so border-radius 50% overflow: clip?

#

like are people actually this clueless about HTML?

jade stone
supple whale
#

??????????????

#

???????????????

#

????????????????????????????

#

BRO

#

WHAT ARE YOU SAYING

spark tiger
#

crashout over html πŸ’”

cinder egret
#

this is a channel to discuss/ask for help/help with programming, not to mock people over trivial things

lavish frigate
supple whale
#

fair, but still

royal nymph
#

man I wish crystal had a half decent language server

#

the language is so nice but I need my completion suggestions

supple whale
#

dude mood

#

whenever i'm forced to write anything java i just wish i could use kotlin

#

but 0 vscode integration

#

i feel ur pain

lucid trail
#

Just takes 10 years to start tho

supple whale
#

kotlin sir

#

i said kotlin

#

i want to use kotlin cuz u can just compile it down to java

#

and i dont get testicular cancer when i use it, like with java

frosty obsidian
#

theres a kotlin lsp now

#

an official one

#

that being said, vscode is not what you should really use for it

winged mantle
#

I wish there was a language like kotlin but closer to java

supple whale
#

i dont see one for vscode

frosty obsidian
#

its in some sort of alpha

#

you need to install it manually from their github

supple whale
frosty obsidian
winged mantle
#

ig kotlin is basically its own thing

#

it's not just for jvm

supple whale
#

damn it vencord

frosty obsidian
#

it is linux/macos only for now

shrewd canopy
#

I'm on Windows and cant use linux (nor do i have mac)

winged mantle
#

but people do often use kotlin in place of java

frosty obsidian
#

i like that you're just thinking out loud

winged mantle
#

kotlin rant incoming

frosty obsidian
#

?

winged mantle
#

ig you can't fault it for being different to java but there are things i like about java that it doesn't allow lol

#

*many things i like about java that are different in kotlin in general

spark tiger
winged mantle
#

i like how explicit things are in java

#

except when it gets annoying

winged mantle
#

enum Gender {
LATINA,
LATINO,
LATINX
}

#

@tribal sapphire

lavish frigate
#

enum Gender {
LATINX
}

ornate quiver
winged mantle
#

as a language that's popular as a substitute to java, it doesn't feel very faithful to various things people choose java for lol

#

me included

#

i don't think many people choose java because of stupid stuff like needing to implementequals but people do tend to like how explicit things are

#

at least, if they like java

#

i guess kotlin is a good java replacement if you don't like java, but not so much if you do like it

jade stone
ornate quiver
#

it's because the default backend language

winged mantle
#

i think you're speaking as somebody who does not like java

ornate quiver
#

well true but you're not seeing the bigger picture either

#

the amount of people who use specifically java because they like it is dwarfed by it being the default language for a lot of things

winged mantle
#

i mean if people actually like java reasons probably include ... the main things it's known for like being explicit

#

that's why i said

at least, if they like java

#

i wasn't saying people tend to like java

#

i haven't surveyed people

winged mantle
#

i think i should start using the phrase "i didn't say anything i didn't say"

royal nymph
#

accurate

hoary sluice
#

but they wanted to be backwards compatible

#

so its not up to modern standards

supple whale
#

xd

jade stone
#

im 99% sure you're out of date

lavish frigate
#

There is full backwards compatibility (the language has to keep in all the technical debt from 10 years ago)
No backwards compatibility (the language actually fixes shit on major updates)
And then Python (dice roll every release, even minor updates and patches, to see if you keep backwards compatibility)

supple whale
#

Vencord: v1.12.2 β€’ 550a2266 (Dev) - 10 Jun 2025
Client: stable ~ Web (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36)
Platform: Win32

#

HMMM

#

oh i see

#

my automated tests failed

jade stone
#

insane

supple whale
#

yeah i automated forking vencord for my local browser dist

#

wtf

#

it fails on git push

#

what the fuck happened

#

Vencord: v1.12.3 β€’ 90990722 (Dev) - 11 Jun 2025
Client: stable ~ Web (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36)
Platform: Win32

#

there we go\

#

ALL MY CSS BROKE

#

NOOOO

#

cant use jsdelivr anymore

#

ah, just a bad cache hit

jade stone
supple whale
#

i can just do a *

#

its my fork

#

but yeah

lavish frigate
#

I made one

royal nymph
lavish frigate
#

Is there any way to see what’s already in the allow list

supple whale
#

sir i'm not doing any more waiting

#

i waited 6 months for you

#

to look at 20 loc

#

this is 300

#

so i'm not waiting till next year

#

x)

lavish frigate
#

I’d send my plugin because it already works well but unknown has me blocked and doesn’t check my messages Clueless

royal nymph
lavish frigate
#

What 😭😭

royal nymph
#

it's true

lavish frigate
#

so there is also no way to remove something from the allow list again..?

royal nymph
#

girl have u looked at the pr 😭

lavish frigate
#

no

#

i looked at the video (on my phone) ignored 90% of the screen and am too lazy to read anything else

#

you know at least im honest about this

winged mantle
#

programming is fun until gradle is involved

supple whale
#

god i hate ts

#
{
  "compilerOptions": {
    "typeRoots": [
      // these overrides are required, because we want a custom typed eventemitter, importing node types in any fashion will fully override the typed event emitter, making life a pain
      // disabling type acquisition does NOT prevent type acquisition from working, WE LOVE TYPESCRIPT, INDUSTRY LEADING TECHNOLOGY
      "./src/types"
    ]
  },
  "typeAcquisition": {
    "enable": false
  },
  "files": [],
  "references": [
    {
      "path": "./tsconfig.node.json"
    },
    {
      "path": "./tsconfig.web.json"
    }
  ]
}
#

this is my fucking tsconfig

#

there are 4 more after this

#

just to make TS work correctly and not pollute every file with random garbage

lavish frigate
supple whale
#

how much config do you want before u even start writing any code? yes.

#

the fact that i cant import node:fs types in typescript, because that includes DT's node:events types, WHICH ARE INCORRECT AND DONT SUPPORT EVENT TYPE MAPS, that override my own implementation of events with event type maps

#

and there's NO WAY to change that

#

makes me want to kms

lavish frigate
supple whale
#

mfw epic games is giving away free nitro, and its not a scam, the day came where its not a scam XD

ionic lake
#

remember the day when that first came around and discord didnt even check card credentials, so everyone and their alts had nitro

#

was a funny 4 months

supple whale
#

they still dont

#

if u do it via paypal

jade stone
#

WHAT IS THE POINT OF THE COMPUTED TAB IF NOT THIS

royal nymph
#

what

supple whale
#

yeah i dont get it too

royal nymph
#

oh the calc isn't evaluated

jade stone
#

it isn't expanding the calc

royal nymph
#

funny

#

I didnt know css had log

jade stone
#

computed tab also doesnt expand auto

royal nymph
#

why would u ever need that tho

#

seems useeles

jade stone
royal nymph
#

if the number is in your sourcecode, just calculate it manually and include the result instead

if the number comes from js just do the math in js

jade stone
royal nymph
#

this seems horrifying

#

better to do with js

jade stone
#

yeah

#

i just did the math in js

royal nymph
#

they should add methods that make it properly turing complete on its own (only requiring an empty html document)

jade stone
#

insane

supple whale
#

they did

#

if

#

css now has if

jade stone
supple whale
#

not added yet

worldly sigil
#

at least i think thats the right one

supple whale
#

yeah

#

thats it

royal nymph
#

the csp changes arent on web

jade stone
#

guhhh

whole basin
# signal oak

So dose that Allow firefox run unsigned extensions

languid tide
#

use https://waterfox.net/ if u want stable firefox and unsigned extensions that don't disappear on restart

whole basin
austere idol
austere idol
#

my poor laptop

stark swallow
#

so in the translate plugins languages.ts it shows a way to generate a list of languages from google translate itself by doing this

``To generate:

copy(Object.fromEntries(
Array.from(
temp1.querySelectorAll("[data-language-code]"),
e => [e.dataset.languageCode, e.children[1].textContent]
).sort((a, b) => a[1] === "Detect language" ? -1 : b[1] === "Detect language" ? 1 : a[1].localeCompare(b[1]))
))
*/
`

#

i generated my list and put it in the table but im still not getting them as options from the dropdown

#

theres a lot of languages in my new list compared to the more common ones that were generated for the plugin

#

but theres only the stock ones in the dropdown

#

is there more i have to do to be able to use these languages?

royal nymph
#

you either are using deepl (change it to Google in the plugin settings) or didn't actually install your own build of vencord

#

follow this to install your own build

stark swallow
#

i was using google i just never rebuilt

#

but mi tink it a work jus fine now

#

patois is so fun

winged mantle
#

what the freak is nest.js

visual shellBOT
fallen arrow
winged mantle
#

ew

#

weird

#

can everyone agree annotations are for java

fallen arrow
#

huh?

royal nymph
#

isn't it just a nodejs framework

fallen arrow
#

yeah

royal nymph
#

oh god it's javascript spring

fallen arrow
#

but why use that when you can just use https://astro.build/ fr

Astro

Astro builds fast content sites, powerful web applications, dynamic server APIs, and everything in-between.

royal nymph
winged mantle
#

after learning about goroutines and learning go doesn't even have corountines (and goroutines are just like java's virtual threads) I feel disappointed that the discord libs for java use callbacks instead of what discordgo and other go libraries do to avoid callback hell

fallen arrow
#

I tbh didn't even know you could use go for discord

#

but tbf I only really program in Swift/C++/Obj-C

winged mantle
#

otherwise what would they say instead

#

sitting thing

#

actually i have no idea if some languages have no word for chair and instead you use a combination of other words

fallen arrow
#

I don't mess with Discord bots really it's not my thing

#

That's why I was surprised that you could use Go for it

winged mantle
#

the only language i know of that doesn't have a discoord bot implemented in it is assembly

#

which i find very disappointing

fallen arrow
winged mantle
#

even C has a discord library

fallen arrow
#

I had no clue

#

this is sick

winged mantle
#

ig it's not quite like a language having a logging library

#

but discord libraries are still pretty widespread

fallen arrow
#

yeah, I can see that

#

lmao

#

objective-c doesn't have one :/

winged mantle
#

there's not a proper one for fortran

#

:(

winged mantle
fallen arrow
#

I don't like it but I tolerate it

winged mantle
#

why do norwegian words look like c standard library functions

fallen arrow
#

why are you obsessed with chairs KEK

winged mantle
#

imagine a world without chairs

winged mantle
#

very close

#

utskrift also could pass as a c standard library function

#

even though it's not close to anything

#

(it just means "printing")

fallen arrow
#

lol

royal nymph
#

Stuhl

#

stool in english :P

winged mantle
#

hallo welt

#
#beinhalte <cstdea>
Ganz Haupt()
{
   druckef("Hallo Welt.");
   zurΓΌck 0;
}
lavish frigate
spark tiger
#

@native spruce hey why is protokolle uploaded on app store under MacCompany rather than like your personal account or something

supple whale
#

a16 released without the full build of the new terminal

#

no display activity

#

no x11 server

shrewd canopy
shrewd canopy
warped jackal
#

is it at all possible (probably is) to automate the cli installer's questions? as in, write a script (bash, powershell etc) that automatically selects the Install and the Stable options?

#

trying to pipe a newline didn't work so I assume it's more complex

royal nymph
#

./installer --help

warped jackal
#

oh shit

#

i didnt know you could do pnpm inject --help and it would just work lol

#

thank you!

warped jackal
#

i made a thing for the few windows users running vencord from source
(probably only me while dual booting lol), it keeps removing itself so this automatically installs it, all you need to do is run the script

spark tiger
#

i see, tysm!

#

also that means in theory if i were to put my stuff on app store, i could just find some company with apple devloper program and ask them to do it for me?

#

and like they can add me as a developer with full access ig

dense sand
#

Snatched from programmer humor

nimble bone
languid tide
#

fireship looking image

royal nymph
#

yeah i think he made it

#

actually nvm

ionic lake
#

yes he did and its annoying

winged mantle
#

trying to make go cloc implementation blobcatcozy

#

I feel like there's a mainstream language I'm missing but i can't think what

royal nymph
#

also js has three billion more extensions

#

[cm][tj]sx?

royal nymph
supple whale
#

its how u configure ur compiler

#

you can make your compiler treat cjs as mjs if you ever so desired XD

#

but official js extensions are only js and mjs afaik?

lavish frigate
#

what the hell is cmsx

royal nymph
supple whale
#

but i think mjs no longer does anything because of import assertions?

royal nymph
#

mjs = force esm
cjs = force commonjs

lavish frigate
#

😭

supple whale
#

you cant import mjs without specifying type="module" anyways tho

#

I think?

lavish frigate
#

can you please use a better way of writing that like [c|m][t|j]s? (regex inspired)

supple whale
#

i think the forcing is nodejs only

#

yeah

lavish frigate
#

i dont believe you

royal nymph
supple whale
supple whale
lavish frigate
#

[cm]?[tj]sx?

royal nymph
#

yes

lavish frigate
#

js so big & greedy why does it need so many extensions

supple whale
#

json imports are like the best thing ever doe

#

fucking 200MB module, reduced to a few kb, just because you can split the data into chunks and only request the data u need

royal nymph
#

bloat i think

#

200mb...

supple whale
#

ip->city databases are roughly 100MB, 200MB is you include more data

#

with ipv6 its like 300MB?

royal nymph
#

is there no way to do it more efficiently

#

search tree or smth

supple whale
#

nope, this is the most efficient way i researched

royal nymph
#

in binary format

supple whale
#

this is binary searched

#

it binary searches based on ip mask

#

and imports a 16kb json

#

instead of a 200MB file

#

since the 200MB file is split into a few thousand json files

#

this also means you load very little data into memory

#

most other solutions gzip a csv file, which then u need to uncompress in memory, ends up using over half a gig of ram

#

its nuts

#

just to get info on 1 IP

#

you fuck your server and your client, just for barely any data

#

like 99.9% of data wasted XD

#

which is why importing json in js dynamically rocks

#

dont need to fuck with no network shit with fetch etc

royal nymph
#

could have just used sql

ionic lake
#

shouldn't exist but well here we are /shrug

royal nymph
#

main.taxi

#

when are we getting taxilang

ionic lake
#

it will just be typescript but a bunch loads of crack and meth of macros and all sorts of circus

hearty swallow
#

i am anti gaming

#

i fucking hate mine craft

native spruce
#

funny how on ios 26 arm64e.old is just broken now so some apps just crash if their binaries are just too old

jade stone
dawn ledge
solemn ravine
#

@woven mesa NETWORKUI

woven mesa
#

insane

supple whale
#

peak shitpost

solemn ravine
#

@woven mesa this is so cursed

#

im watching a wwdc video

#

the alert is in the corner

woven mesa
solemn ravine
#

wtf

woven mesa
#

idk,,

#

i cant believe we’re on sf symbols 7

solemn ravine
#

@woven mesa long search bar

woven mesa
#

true

solemn ravine
#

idk how I feel about this still

#

oh my god this is so goofy

woven mesa
#

horror

winged mantle
#

masterpiece

#

(what could i improve on)

woven mesa
#

@solemn ravine the new WebPage observable object basically lets you make headless instances easily

#

super cool

solemn ravine
#

@woven mesa i cant get over how horrible this makes my app look

#

their corner radiuses is also absurd, buttons are too big too

#

this looks like scamsung

woven mesa
#

true

#

just never migrate from xcode 16 ez

winged mantle
#

it makes no sense

shrewd canopy
south moon
#

how can i use liquid glass in xcode for my app?

#

xcode 26 btw

south moon
#

@native spruce

native spruce
#

learn to be patient + have you actually tried compiling an app…

#

or looking at apple documentation..?

austere idol
south moon
winged mantle
#

can i use util.Hash from vencloud in my own project

frosty obsidian
shrewd canopy
#

It will though if you tell it to do so

winged mantle
#

why are random yagpdb forks there

ornate quiver
winged mantle
#

design patterns

winged mantle
spark tiger
#

πŸ«₯

median root
winged mantle
supple whale
winged mantle
#

are there any actually popular bots using discordgo

#

apart from yagpdb

#

idk go ecosystem for things i want to do rn is bad

royal nymph
lavish frigate
#

GO is ALWAYS bad, hop on php

winged mantle
#

but I also wanted to see how much of a joke go ui is and like many languages it doesn't seem great blobcatcozy

#

discordgo seems a mess

#

i feel like discordgo is probably the least likely to randomly disappear though

#

to me the only big bot i know of using it vendoring a modified version does not seem good

winged mantle
#

no components v2

supple whale
#

rlyyyyy

jade stone
#

is # valid in rust identifiers

#

or is some other stynax

fleet cedar
#

r#type is a raw identifier

#

In other words, it is not the keyword type

jade stone
#

insane

why not just manually set the clap arg name

fleet cedar
#

Mostly useful for interacting with different editions, if some 2015 crate uses async or await as an identifier

#

But yes, some proc macros and code generators might make use of it as well

spark tiger
supple whale
#

so by definition i cant be lobotomized

#

too much JS turned my brain into mush

#

now its just a fungal biomass

solemn ravine
#

@woven mesa official app btw

royal nymph
#

so easy to bind C

#

now time to figure out how tf dbus works

wet comet
#

not Exactly programming related but most aligned: does anybody here use fedora silverblue.... i am pulling my fucking hair out trying to install it

royal nymph
#

gay??

#

crystal is just ruby but compiled so it's fast as fuuuck boy

#

LLVM backend so it's similar performance as rust

ornate quiver
nimble bone
#

Aliuballs

winged mantle
#

i was really confused because there were multiple libs called disgo

#

but this seems to be lead by somebody also heavily involved with lavalink

#

so ig they probably know how to write production code

#

seems like it uses builders though

#

not compulsary though i don't think

nimble bone
#

Gowklang

winged mantle
#

i think i found discord.js for go

#

insane

#

SelfUser is optional

#

actually tbf it won't be available immediately

#

yeah what am i talking about

royal nymph
#

trol

royal nymph
#

since structs are zero initialised you can leave any field blank and it won't error

if you want to require specific fields to be set you have to make a function to create the struct

winged mantle
#

ah

winged mantle
#

to replicate behaviour just ignore the bool value from SelfUser()

#

and you'll presumably get a zero initialised struct if it's not available

#

will this be the third project i create prs relating to default allowed mentions for

#

(it only suports default allowed mentions for webhooks)

leaden crater
#

@valid jetty

winged mantle
#

i think i love go apart from billion dollar mistake

#

but i don't love how rust handles optional data

#

js/ts/kotlin does it better than java/rust imo blobcatcozy

#

java has Optional type but it also has null