#๐Ÿช…-progaming

1 messages ยท Page 53 of 1

hoary sluice
#

im sorry i dont think i can give you 2^64 arguments

valid jetty
#

how did you already break it ๐Ÿ˜ญ

#

oh

hoary sluice
#

i forgot to add self

valid jetty
#

yeah

#

i love usize underflow

lavish frigate
#

how do you get your nvim config to 1.38 GB

hoary sluice
#

woohoo good night

#

i will do the actual fft impl during lab on monday, I just needed the env set up

valid jetty
#

yay

hoary sluice
#

am i the only elle user

valid jetty
#

no

austere idol
lavish frigate
#

lightweight my ass 3 entire vscodes fit in your config(?) folder

austere idol
#

even my vscodium config directory weights less

austere idol
dawn ledge
dawn ledge
#

do you like
never clean up logs

#

or is it just too many plugins husk

dawn ledge
austere idol
#

(and i already replaced clangd and clang-format with their counterparts in my distro's repo)

dawn ledge
#

this shit doesnt count, you'd need these even when using vsc

pearl vine
#

I used sublime text for a while when i had a computer that couldn't run vscode

dawn ledge
#

best computer

#

physically stops you from using bad software

dawn ledge
#

NO WAY

#

@placid cape poggers

formal belfry
winged mantle
#

accidentally sent to wrong channel

#

types got so messy...

#

can't really think of a better solution to split apart perm checking and execution

jade stone
#

powershell is going to make me go insane

#

there's no way to tee binary output

#

it converts it to a string and wraps it at 80 chars

dawn ledge
#

powershell

#

werent you on nixos sadan

jade stone
#

but i have a windows laptop

#

that doesnt support linux

dawn ledge
#

ah

jade stone
#

because why the fuck would tee make sense

royal nymph
#

you're on windows

#

why are you expecting stuff to not suck ass

jade stone
#

using GNU tee

royal nymph
#

why are you even using tee here

jade stone
jade stone
formal belfry
#

this is the more efficient way to do it

jade stone
#

i dont care
thats not the point

formal belfry
#

whats the piont

jade stone
#

that you cant pipe binary data

formal belfry
#

what

#

wubdows moment

#

windows

jade stone
#

however, because powershell corrupts the binary data, that just doesnt work

dawn ledge
#

cant you pipe it to cat then

#

if tee is not working

jade stone
formal belfry
#

what

dawn ledge
#

you can pipe to cat and itll output the piped content

jade stone
#

powershell jumpscare

jade stone
dawn ledge
#

horrible

formal belfry
#

gnu/windows

jade stone
ornate quiver
#

you are a creature

jade stone
ornate quiver
#

cmake, meson

jade stone
formal belfry
#

whats wrong with cmake

jade stone
#

i might learn meson

jade stone
#

too confusing

formal belfry
#

nub

ornate quiver
jade stone
#

and you can easily debug a makefile

#

lot simpler

ornate quiver
#

yeah but makefiles are toolchain specific

jade stone
formal belfry
#

wgat

austere idol
rugged berryBOT
#

Here is your sh(5.2.0) output @austere idol

tree_obfuscate/bd77a7bf98cb416384858f76ec911ce1 -> tree_obfuscate/keygen.py
tree_obfuscate/bf0f2f46afca4ac49d0ea40ad558d728 -> tree_obfuscate/obfuscate.py
tree_obfuscate/d40b5bf5d5434d1fbbe0c405095f2392 -> tree_obfuscate/README.md
renamed 'tree_obfuscate/README.md' -> './README.md'
renamed 'tree_obfuscate/keygen.py' -> './keygen.py'
renamed 'tree_obfuscate/obfuscate.py' -> './obfuscate.py'
Traceback (most recent call last):
  File "keygen.py", line 1, in <module>
    from Crypto.PublicKey import RSA
ModuleNotFoundError: No module named 'Crypto'
Traceback (most recent call last):
  File "obfuscate.py", line 9, in <module>
    from Crypto.Cipher import AES, PKCS1_OAEP
ModuleNotFoundError: No module named 'Crypto'
austere idol
formal belfry
#

what a minimalist

#

i aspire to be as minimalist as him

dense sand
#

exceptions!

supple whale
#

woah thats a rare one

dense sand
#

its quite interesting to see how much is happening behind this simple program

supple whale
#

java!

#

this is why i fucking hate the language

dense sand
#

not even mentioning i have to implement like gazillion native methods

supple whale
#

it doesnt even matter if its fast or not, because the sheer amt of boilerplate required to do anything basic will nuke any perf it offers

dense sand
#

its fun to have 500 lines long switch statement blobcatcozy

hoary sluice
#

@valid jetty i dont think theres a reason to have both Struct::fn and explicit self

#

and it causes problems like the arg count underflow from earlier

#

ie either make an impl block without Struct::fn or make implicit self

fleet cedar
#

What do you mean by Struct::fn? Is this a custom language?

hoary sluice
#
struct Foo;

Foo::bar() {}
#

obv you could fix this while still requiring both

austere idol
hoary sluice
#

might as well say 111111111111111111111111111111111111111111111111111111111111111

austere idol
#

/run

int main()
{
    char dummy[0];
    for (int i = 0;;i++) {
        dummy[i] = 0xDEADBEEF;
    }
}
rugged berryBOT
#

@austere idol I received c(10.2.0) compile errors

file0.code.c: In function 'main':
file0.code.c:5:20: warning: overflow in conversion from 'unsigned int' to 'char' changes value from '3735928559' to '-17' [-Woverflow]
    5 |         dummy[i] = 0xDEADBEEF;
      |                    ^~~~~~~~~~
/piston/packages/gcc/10.2.0/run: line 6: 1566494 Segmentation fault      (core dumped) ./a.out "$@"
austere idol
#

i am too bored

hoary sluice
#

/run

{
    unsigned long long dummy[0];
    for (int i = 0;;i++) {
        dummy[i] = 0xDEADBEEF;
    }
}```
rugged berryBOT
hoary sluice
#

/run

int main()
{
    unsigned long long dummy[0];
    for (int i = 0;;i++) {
        dummy[i] = 0xDEADBEEF;
    }
}```
rugged berryBOT
#

@hoary sluice I only received c(10.2.0) error output

/piston/packages/gcc/10.2.0/run: line 6: 1566528 Segmentation fault      (core dumped) ./a.out "$@"
hoary sluice
#

why are u inf looping

austere idol
hoary sluice
#

oh

austere idol
#

and yeah, you literally can define arrays of size 0 and it will not complain (of course, you cant use them and you will be slapped with segfault if you do so)

hoary sluice
#

/run

#include <stdlib.h>
int main() {
    void *p;
    while ((p = malloc(1024 * 1024)))
        memset(p, 0, 1024 * 1024);
}
rugged berryBOT
#

@hoary sluice I received c(10.2.0) compile errors

file0.code.c: In function 'main':
file0.code.c:5:9: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
    5 |         memset(p, 0, 1024 * 1024);
      |         ^~~~~~
file0.code.c:5:9: warning: incompatible implicit declaration of built-in function 'memset'
file0.code.c:2:1: note: include '<string.h>' or provide a declaration of 'memset'
    1 | #include <stdlib.h>
  +++ |+#include <string.h>
    2 | int main() {
hoary sluice
#

/run

#include <stdlib.h>
#include <string.h>
int main() {
    void *p;
    while ((p = malloc(1024 * 1024)))
        memset(p, 0, 1024 * 1024);
}
rugged berryBOT
#

@hoary sluice I only received c(10.2.0) error output

/piston/packages/gcc/10.2.0/run: line 6: 1566744 Killed                  ./a.out "$@"
hoary sluice
#

lol

austere idol
#

the nastier you get, the worse outcome you will get

#

/run

extern void putchar(const char c);
extern void puts(const char* str);

int main()
{
    char test[35] = {71, 92, 92, 19, 81, 92, 65, 90, 93, 84, 57, 25,
                     90, 93, 64, 86, 65, 71, 19, 81, 82, 87, 19, 82,
                     67, 67, 95, 86, 19, 91, 86, 65, 86, 25, 51};

    for (int i = 0; (test[i] ^ 51) != 0; i++)
        putchar(test[i] ^ 51);
    puts("");
}
rugged berryBOT
#

@austere idol I received c(10.2.0) compile errors

file0.code.c:1:13: warning: conflicting types for built-in function 'putchar'; expected 'int(int)' [-Wbuiltin-declaration-mismatch]
    1 | extern void putchar(const char c);
      |             ^~~~~~~
file0.code.c:1:1: note: 'putchar' is declared in header '<stdio.h>'
  +++ |+#include <stdio.h>
    1 | extern void putchar(const char c);
file0.code.c:2:13: warning: conflicting types for built-in function 'puts'; expected 'int(const char *)' [-Wbuiltin-declaration-mismatch]
    2 | extern void puts(const char* str);
      |             ^~~~
file0.code.c:2:13: note: 'puts' is declared in header '<stdio.h>'
too boring
*insert bad apple here*
lavish frigate
#

๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ
https://www.wired.com/story/doge-rebuild-social-security-administration-cobol-benefits/?utm_brand=wired&utm_social-type=owned

WIRED

Social Security systems contain tens of millions of lines of code written in COBOL, an archaic programming language. Safely rewriting that code would take yearsโ€”DOGE wants it done in months.

#

its over for the united states

worldly sigil
#

whether it'd actually function correctly afterwards is still up for debate

lavish frigate
#

COBOL TO JAVA

#

LMFAO

#

translating legacy code to legacy code

worldly sigil
#

yeahhh...

lavish frigate
#

no way

worldly sigil
#

you get to go from mega legacy to just still painful legacy

lavish frigate
worldly sigil
#

ig at least it's an option if a company just wanted to hire Java devs and not have to scour for a cobol dev

lavish frigate
#

but like still

#

there are so many better options than java

#

especial for an absolutely GIANT database

worldly sigil
#

critical financial code in python trolley

lavish frigate
#

๐Ÿ˜ญ

#

the largest problem is just

#

that it doesnt need to be replaced

#

there is no real point

#

it works and thats already better than everything else doge puts out

worldly sigil
#

would probably be cheaper to just foot the energy bill and/or overwork a contracting firm to modernize some components

#

but the administration is just looking at short term goals

lavish frigate
worldly sigil
#

maybe this is how we can finally get rid of ssns...

lavish frigate
#

maybe lmfao

hoary sluice
runic sundial
#

Java is safer than Rust

hoary sluice
#

lmao

lavish frigate
#

java isnt safer than rust

runic sundial
#

Java is safer than Rust

lavish frigate
#

java is just easily debuggable everywhere

hoary sluice
#

lmao

lavish frigate
#

they want the database to run on android

runic sundial
#

They want a database that runs on standard enterprise infrastructure

#

Much of which, uses Java

hoary sluice
#

doing it in java when kotlin exists is mentally ill

#

but thats to be expected from the us government

runic sundial
#

Now, Kotlin is for web apps

hoary sluice
#

no its not

runic sundial
#

Pretty much is

#

The front end could use Kotlin

#

It's really good for UIs

hoary sluice
#

most of the code ive written in my life is kotlin and ive never written a web frontend in kotlin

lavish frigate
hoary sluice
#

android, advent of code, enterprise spring, none of those are web apps

#

kotlin is extremely well integrated with spring and spring is awesome

runic sundial
#

Idk bro

hoary sluice
#

theres nothing speaking against kotlin and spring besides performance, and there java wouldnt help

runic sundial
#

Peak Java v Kotlin performance Java wins

hoary sluice
#

it didnt start as a ui language

runic sundial
#

No, but it deserves to be

hoary sluice
runic sundial
#

Have you, checked?

hoary sluice
#

however kotlin is probably much faster because its much harder to write slow code in kotlin

runic sundial
#

Have you ever in your life read Kotlin bytecode

#

this is a quick y/n i don't expect an essay

hoary sluice
#

no but it compiles to the same jvm, which has been getting more and more optimized for almost 30 years, kotlin is made by a huge company and is open source and has been the main language used for android, so even if java somehow makes faster bytecode it would be completely negligible, + kotlin native exists and like i said previously if they are really concerned about performance they would write it in C and not on the jvm

fleet cedar
#

It compiles to the same instruction set, but I would imagine the patterns are different

runic sundial
#

And there's many ways of turning Java into native just as well.

runic sundial
#

It ABSOLUTELY is not

hoary sluice
runic sundial
#

Like what?

hoary sluice
#

what?

runic sundial
#

Ur the gamer with the "more optimized algorithms"

#

Let's see them

hoary sluice
fleet cedar
hoary sluice
#

have fun writing this in java without dying or making it extremely slow

hoary sluice
runic sundial
#

Pick a file you're confident in then

hoary sluice
#

its like calling an api that takes 2 seconds to respond and then worrying about cloning / passing by reference a uuid string

runic sundial
#

Object allocations, null check spam, object layout and how async is structured spring to mind as "things Kotlin messes with"

#

Async in particular is horror

fleet cedar
runic sundial
#

Like the JVM doesn't have co-routines

#

But Kotlin does

#

I dare someone to fucking decomp and see what code it spits out

hoary sluice
#

lets say java is 15% faster than kotlin, are you happy with that? why would they care enough about a 15% performance boost to not use kotlin and then also use java

fleet cedar
#

Certainly, kotlin compiler will spit out bytecode that no sane java compiler would dream of

runic sundial
valid jetty
fleet cedar
#

But it's still the same instruction set and all

#

Which doesn't help at all for decompilation of course

hoary sluice
#

any performance difference between java and kotlin is irrelevant, besides the fact that kotlin is much easier to write and its much easier to write a terrible algo in java because its stdlib doesnt offer any optimized chain functions

runic sundial
#

When I say "decomp", I should really say like "bytecode viewer"

fleet cedar
#

A disassembler for java should work just fine for kotlin as well

runic sundial
#

Personally? I can't read Kotlin at all and find it's syntax sugar to cause diabetus.

fleet cedar
#

Though I think kotlin has some extra attributes it adds, for stronger reflection and stuff

runic sundial
#

But you can't exactly decompile Kotlin, no decent decompiler currently exists

fleet cedar
#

Decompilers are way harder than disassemblers

hoary sluice
runic sundial
#

Yeah no shit

fleet cedar
#

Finding where a certain extension method is defined can be quite hard without an ide

#

But then again, why wouldn't you use an ide

hoary sluice
#

why are using "there is no good kotlin decompiler" and "you cant write kotlin without an ide" as arguments against it

runic sundial
hoary sluice
fleet cedar
#

I'm just saying it's a more complex language than java

hoary sluice
#

i find it easier to read than java

#

reads more like english

runic sundial
#

I mean, Kotlin does make using {} everywhere easier

#

Which, anytime you use {}

#

that's a brand new object

#

Keep doing that and the JVM will have the tummy ache of a life time

hoary sluice
#

which will again make no difference

fleet cedar
hoary sluice
#

if you are minmaxing this much you cant use the jvm

runic sundial
runic sundial
#

My JVM code does segfault from time to time

fleet cedar
#

I can't say much about the readability of the languages, but from what I've seen kotlin isn't as big on the "IAbstractThingyFactorySupplier" thing

#

Which is a big plus in my book

fleet cedar
runic sundial
fleet cedar
#

Not trusting the jit is how you get shit code

#

And of course inspecting the asm for the hot loops

hoary sluice
#

youre social security, your code takes 7 hours to start and 100ms per lookup and youre worried about manually inlining variables

#

maybe use C

runic sundial
#

my job here is done

#

(im bored)

hoary sluice
hoary sluice
lavish frigate
#

java isnt reliable its just industry tested, 2 very different things
like yeah the industry uses it? so what? Its still on the same archaic design principles of c++, c++ is only very reliable if you know how to make it very reliable, you do not and neither really help you with that
yeah let me just throw this error! hope something up top catches it in my 50 layers of abstraction and inheritance garbage!

runic sundial
#

I've actually been preached to on the benefits of c++ today

#

im sold

#

templates and concepts are rly nice

lavish frigate
#

yeah i know you are sold

#

you are sold on all the garbage

#

i mean youve been sold on java since that time your high school teacher introduced it to you

hoary sluice
#

c++ is only ok if youre also using Qt

fleet cedar
#

Templates are extremely powerful

runic sundial
fleet cedar
#

But they have terrible diagnostics and are awful to write

hoary sluice
lavish frigate
#

i never got sold on java because i never cared about minecraft that much

runic sundial
#

java in your microwave

hoary sluice
#

cant really not care when you have 6000 hours on skyblock

#

java on your pregnancy test

runic sundial
#

real

lavish frigate
#

i had 1000 hours on skyblock

runic sundial
#

let me break down why i hate Kotlin: I cannot mixin into the legacy Minecraft mods written in Kotlin to add compat for new mdos

#

simple as

austere idol
hoary sluice
#

idk if i should be glad or not cause it taught me how to program but also 6000 hours

runic sundial
#

well, i can, and i do, but it's too much effort

fleet cedar
#

I quit mc modding ages ago, more fun to RE other games from scratch

shrewd canopy
#

I only made Bukkit plugins in Java and sometimes learned Kotlin for it

hoary sluice
runic sundial
#

well no, it upset me once and therefore

#

i hate it forever

fleet cedar
#

Why would you have to use java for mixins

runic sundial
#

i feel like this is justified

hoary sluice
hoary sluice
austere idol
runic sundial
#

easier sometimes

hoary sluice
#

you use kotlin to not have to use java, so you get upset that you have to use java which you dont like for mixins so you use it everywhere now????

fleet cedar
#

I wrote my own bytecode patcher, worked fine with kotlin

hoary sluice
#

so is C

#

go use C

runic sundial
#

C is rly good

#

i use it

hoary sluice
#

machine code is everywhere go write machine code

runic sundial
#

i do sometimes

#

rly nice even

hoary sluice
#

mental ill

lavish frigate
#

sad life

runic sundial
#

Like this exact thing, why are you repeating what I said?

#

or is it for people who need a reddit-tier TL:DR

formal belfry
#

mega

runic sundial
#

MEGA

formal belfry
#

In this video I discuss the tragic death of Bob Lee (cash app founder and former CEO of mobile coin) and why people working in the tech industry need to start considering their physical security more.

Follow Darth.bloat on instagram
https://www.instagram.com/darth.bloat/

โ‚ฟ๐Ÿ’ฐ๐Ÿ’ต๐Ÿ’ฒHelp Support the Channel by Donating Crypto๐Ÿ’ฒ๐Ÿ’ต๐Ÿ’ฐโ‚ฟ...

โ–ถ Play video
ionic lake
#

@valid jetty

valid jetty
#

wait this is so cool wtf

#
type ้ฃŸในใ‚‹ = IchidanVerb & { stem: "้ฃŸใน"; ending: "ใ‚‹" };
valid jetty
#

thats fun

ionic lake
#

is this zed?

valid jetty
#

yes

lavish frigate
#

zed includes rust analyzer by default its so based

royal nymph
#

BLOAT

supple whale
#

please end me

#

please i dont want to be alive anymore

#

why me

dawn ledge
#

are you stupid cause youre retarted or are you retarded cause youre stupid

supple whale
#

trully

lavish frigate
supple whale
#

its so fucking insulting

#

how much world's first i built to get this app running

#

and people think its just AI slop

dawn ledge
#

stupid people

#

waiting for the ai graph to plummet

supple whale
#

yeah

#

tho the new GPT's image gen is actually goated

#

like it actually fixed almost all the issues i had with it

#

aka overtrained/overfitted data, text

#

like shit, it can generate a full glass of wine

#

and a watch that's not set to 10:10

dawn ledge
#

how many countries worth of electricity did they burn through to give you that

supple whale
#

TRUE

dawn ledge
#

would you

  1. start nuclear plants that have negative emmissions to power ai slop
  2. stop creating ai slop and go back to when people made opencv image classification models and were excited about it
lavish frigate
supple whale
#

+1

dawn ledge
#

chernobyl incoming

supple whale
#

not really possible tho

dawn ledge
#

more mutated mushrooms

lavish frigate
#

nuclear power plants nowadays are extremely safe

dawn ledge
#

i will set a cat loose in there

lavish frigate
#

chernobyl also only happened because of multiple catastrophic errors in a row

supple whale
#

because it was getting embezzeled as they built the reactors

dawn ledge
#

love having a potential hazard just to earn some bucks

supple whale
#

if they built a containment room it would have been a non issue

#

if they didnt cheap out on rods it would have been a non issuue

lavish frigate
supple whale
#

if they didnt cheap out on producing as much power as possible for as little as possible it wouldnt have been an issue

lavish frigate
#

renewable energies require high maintenence cost or very specific conditions

supple whale
#

and if they didnt place incompetent people in control it wouldnt have been an issue

lavish frigate
#

fossil fuels can also just explode and its not like that never happened before

#

beside them also running on fossil fuels

dawn ledge
#

go back to primitive man, living in caves drawing cows on walls and living off of camp fire

lavish frigate
#

yea

#

fusion energy is really nice in concept but we are still far from having actual fusion reactors

royal nymph
#

have u tried vibecoding @lavish frigate it makes u more productive

lavish frigate
#

yea i have

royal nymph
dawn ledge
#

it gives you an illusion of being productive

lavish frigate
lavish frigate
lavish frigate
#

๐Ÿ˜ญ

dawn ledge
#

being a vencorrd member and not kys? impossible

lavish frigate
#

every vencord memeber is severely depressed

dawn ledge
supple whale
#

ai is useful for autocompletions, when i'm insanely lazy

#

i do

/// some code

// binary sort, cut of smaller than 1.45MB, filter out date newer than today
#

and it for the most part works

#

it usually auto-completes it after the comment

lavish frigate
#

ok so you are an ai shill

#

got it

supple whale
#

but if it tell it to write an entire function that does what i want it to, it wont be able to do all the logic correctly, cuz it will fuck up on step 3 of 9 and its gg rest of the way from there

#

and lord forbid i tell it to write css or html

#

jesus christ it cant even close divs

lavish frigate
#

i open this when im at work

dawn ledge
#

ai i pretty much useless for me cause i work on arcane ass shit

lavish frigate
#

and i open this when i actually wanna make stuff for myself

dawn ledge
#

anyone casually rrewwriting ffmpeg?

lavish frigate
#

and i have all ai completely disabled on zed

#

so i can actually focus

#

its kinda funny when i look at the code i write using cursor and using zed the quality difference is completely insane

supple whale
dawn ledge
#

i really dislike zed for being such an ai pilled app
i do NOT need first party ai integration that im not gonna use

lavish frigate
#

even hide the buttons

#

let me share config

dawn ledge
lavish frigate
#
{
  "features": {
    "edit_prediction_provider": null
  },
  "collaboration_panel": {
    "button": false
  },
  "chat_panel": {
    "button": "never"
  },
  "assistant": {
    "enabled": false,
    "version": "1",
    "button": false
  },
  "show_edit_predictions": false,
  "edit_predictions": {
    "enabled_in_assistant": false,
    "disabled_globs": ["**"]
  }
}
supple whale
#

why not use vscode at that point then?

lavish frigate
#

the only button that still shows up is this one but its also disabled for every file

dawn ledge
#

imo opt out is worse than opt in, although im just being a bitch atp and im happy using nvim

lavish frigate
dawn ledge
#

keyword: slightly

lavish frigate
#

yeah

#

slightly

#

but it also looks better which is more important to me

dawn ledge
#

have you tried gitbutler

lavish frigate
#

nop

#

i exclusively use cli

#

cuz i got taught using the cli at work

supple whale
lavish frigate
#

and so i feel most comfy with it

supple whale
#

fucking ts language server

dawn ledge
#

i would use it but i dont really use a ton of git features (commit to master always anyone?)

lavish frigate
supple whale
#

brotha

#

i cant autocomplete

#

it takes 5s to load autocomplete

dawn ledge
#

ts ls is low on the slow lsp list

lavish frigate
supple whale
#

you have not seen an entire graphql api generated into typescript tyhpes

lavish frigate
#

very strict

dawn ledge
supple whale
#

not startup

#

i mean mid-coding

dawn ledge
#

yeah

#

me too

lavish frigate
# lavish frigate very strict

the branch must have the issue number in front i.e. 10-fix-something, then commits must all be like "Fix something (#10)"

#

in fact

dawn ledge
#

(dont question my code, its bad)

lavish frigate
#

the server just outright declines your commits if you dont follow that naming convention

supple whale
#

i just compile my types

#

so they load quicker

dawn ledge
#

i hate the for loop

lavish frigate
#

rust!!!!

#

and nix...

dawn ledge
#

jj is nice in concept but too complicated for me

#

i heard it has some cool feature

supple whale
lavish frigate
#

on dioxus my rust analyzer can take up to like 30s

supple whale
#

yeah if its not cached, if often just doesnt load any types for me, just gives me namespace recomendations

#

which is just variable names

dawn ledge
#

ts really chokes when you do type metaprogramming (i love generating a 20000 byte string from nothing but recursive types)

supple whale
#

yeah i have a lib which generates typed responses based on js string graphql queries

lavish frigate
supple whale
#

so i can do

const res = gql`query{page{media{id}}}`
dawn ledge
#

some insane human without a life has probably implemented a regex engine purely with types

supple whale
#

and it generates types for that

dawn ledge
#

i wish rust generics were as versatile as ts'

supple whale
lavish frigate
supple whale
#

so it just compiles the types down into a single result instead of nesting

#

and that brings perf back up

dawn ledge
#

waiting for lsp spec to add lsp injections just like tree-sitter injections

supple whale
#

i originally had a monorepo, with electron, vite, webpack, capacitor, ionic, svelte and sveltekit

#

but typescript stopped loading on that one, so i had to split it up

dawn ledge
#

average js project

supple whale
#

well yeah

#

i was compiling the single codebase to windows, linux, mac, android, androidtv, quest and auto

#

but yeaaaah

lavish frigate
#

typescript is cool sucks that its only being used for evil though

#

we need another theo t3 api wrapper

dawn ledge
#

js ecosystem will be healed when react and co cease existing

#

til i can make constructors private

supple whale
#

nah, async constructors is where its at

dawn ledge
#

async ctors are not real

supple whale
#

they are tho?

#

js supports them even

supple whale
#

i wanted to write a lib for this for quite a while now, because the idea has been sitting in my mind for ages now, but TLDR:

const construct = Symbol('constructor')

function toAsync(cls) {
  cls.prototype = cls.prototype[construct]
}

class Example {
  async [construct] () {
    // do async work
    await fetch('uwu')
  }
}

const AsyncExample = toAsync(Example)

const asyncres = await new AsyncExample()
lavish frigate
#

async RUST

supple whale
#

because in js you can do

class Example {
  constructor() {
    return new Promise()
  }
}

and it will return the promise not class

#

but idk if that toAsync class would work like that, never had time to test

dawn ledge
#

ts hates when i return from my constructor :p

supple whale
#

yeah which is why u make a lib for it

lavish frigate
# lavish frigate async RUST

the

#[tokio::main]
async fn main() {
  println!(":3");
}

and the resulting

error[E0752]: `main` function is not allowed to be `async`
 --> src/main.rs:2:1
  |
2 | async fn main() {
  | ^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
supple whale
#

why?

royal nymph
#

If you need your constructor to be async, make a static constructor

supple whale
#

async constructors are great

#

but await new is prettier

#

the amt of times i needed an async constructor when working with streams or http is utterly insane

royal nymph
#

like a static factory method

supple whale
#

but why

royal nymph
#
await Example.create()
supple whale
#

i'd rather write async in front of my constructor keyword

#

and not bother writing the extra boiler plate

#

just have that shit as a library

#

and do

import construct from 'async-constructor`
#

there was a lib that did this, but it did it kinda poorly ngl

#

and had awful typescript support

shrewd canopy
# supple whale because in js you can do ```js class Example { constructor() { return new...
import asyncio
from time import time

class MyClass:
  async def __new__(cls, *args, **kwargs):
    self = super().__new__(cls)
    await self._async_init(*args, **kwargs)
    return self

  async def _async_init(self, *, delay):
    await asyncio.sleep(delay)

  def now(self):
    return time()

async def main():
  now = time()
  foo = await MyClass(delay=2)
  print(foo.now() - now)

asyncio.run(main())

Totally works in python too :) (through different way)

dawn ledge
#

using __new__ is so insane

supple whale
#

also use async constructors for threaded classes

lavish frigate
#

i forgot ts class syntax but

class Example {
  private constructor() {}

  public static async new() {
    return new Example();
  }
}

const a = await Example.new();
#

i do not use classes in js/ts

dawn ledge
#

invalid

#

new is a keyword

supple whale
#

yep

dawn ledge
#

cant use as identifier

lavish frigate
#

works

dawn ledge
#

whack

supple whale
#

what the fuck

#

in js this wouldnt work no way

lavish frigate
royal nymph
#

now add "use strict"

lavish frigate
supple whale
#

is this man not running ESM by default?

royal nymph
#

lol funny

#

I was convinced it was a keyword

shrewd canopy
royal nymph
#

ve ```js
function new() {}

elder yarrowBOT
# royal nymph ve ```js function new() {} ```
SyntaxError: Unexpected token 'new'
    at Object.execute (/home/vee/venbot/src/commands/dev/eval.ts:92:37)
    at handleMessage (/home/vee/venbot/src/Client.ts:108:23)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)```
supple whale
#

yeah JS doesnt permit it

#

TS just compiles it down to CJS

#

or transforms the word

royal nymph
#

ve ```js
const Test = {
new() {
console.log("hi")
}
}

Test.new()

elder yarrowBOT
royal nymph
#

lmao

supple whale
#

Uncaught SyntaxError: Unexpected strict mode reserved word

royal nymph
#

you can have it as method but not function

lavish frigate
#

lc.eval ```ts
class Example {
private constructor() {}

public static async new() {
return new Example();
}

public foo(): void {
console.log("test");
}
}

(async () => {
const a = await Example.new();

a.foo();
})()

lavish frigate
#

are you kidding me

#

lc.help eval

visual shellBOT
# lavish frigate lc.help eval

eval

Evaluate code snippets. Supports codeblocks.

Supported languages: bash, node, js, py2, py, java, lua, ruby, perl, go, kt, rust, php, c, cpp, cs, elixir, swift, bf, scala, haskell

ย -langย <string>ย ย 
โ€‹ โ€‹ โ€‹ โ€‹ ย default:ย nodeย 

<:i:1336065903279865946> Usage
lc.eval <code> [-lang <language>]```
<:i:1336065514170093608> Examples

lc.eval console.log('hi') -lang js

lavish frigate
#

???????????

#

js but no ts

#

wack

supple whale
#

ve

'use strict'
class uwu {
    public static async new (){
    }
}
supple whale
#

bruh

royal nymph
#

ve

'use strict'
class uwu {
    static async new (){
    }
}
elder yarrowBOT
lavish frigate
#

whats the command for iruncode

#

@rugged berry

royal nymph
#

it works

supple whale
#

wtf, in V8 i get:

lavish frigate
#

/run ```ts
class Example {
private constructor() {}

public static async new() {
return new Example();
}

public foo(): void {
console.log("test");
}
}

(async () => {
const a = await Example.new();

a.foo();
})()

royal nymph
#

cause of public

rugged berryBOT
#

Here is your ts(5.0.3) output @lavish frigate

error TS2468: Cannot find global value 'Promise'.
file0.code.ts(13,2): error TS2705: An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.
royal nymph
#

lol

#

public is a reserved word

supple whale
#

yeah

#

should have looked what i copied

dawn ledge
royal nymph
#

funny that u can name it new

lavish frigate
dawn ledge
#

no build people scare me

lavish frigate
#

i looked into pissbot code because i wanted to copy its features blobcatcozy

dawn ledge
#

pissbot code divers when they realize everything is a private api

#

unforkable

lavish frigate
#

specifically to port user commands to python when the feature was new and when discord themselves had basically no documentation on it

#

i know python strictly for discord bots </3

royal nymph
#

ofc u use python

lavish frigate
#

*only for discord bots

supple whale
#

mfw i actually cant write python code

lavish frigate
#

thats why i also only know how to use py-cord and nothing else

dawn ledge
#

dolfies would be proud

supple whale
#

i avoided that shit like the plague

#

i can write assembly code better than python code

lavish frigate
dawn ledge
#

ts nerd how do i add a property to an existing interface

lavish frigate
#

or something

dawn ledge
#

i want signatures using existingInterface as the type annotation to also recognize the property

lavish frigate
#

not sure if thats possible

#

what are you trying to do exactly

#

maybe its possible with declare im not sure tho

dawn ledge
#

declare worked

#

thanks

supple whale
#

declare?

dawn ledge
supple whale
#

ah

lavish frigate
#

didnt even know you could use it like that tbh

supple whale
#

aah yeah i patch globals like this quite a lot

#

when i use unsupported features

lavish frigate
#

i wouldve suggested

declare module global {
  interface existingInterface {
    properties: Here
  }
}
lavish frigate
#

not that insane

supple whale
#

i mean wtf am i supposed to do

#

when i use a method TS doesnt document

#

like

lavish frigate
#

what method

supple whale
#
interface Track {
  selected: boolean
  enabled: boolean
  id: string
  kind: string
  label: string
  language: string
}

declare global {

  interface HTMLMediaElement {
    videoTracks?: Track[]
    audioTracks?: Track[]
  }

  interface ScreenOrientation {
    lock: (orientation: 'any' | 'natural' | 'landscape' | 'portrait' | 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary') => Promise<void>
  }
}
#

lord forbid u try to use anything picture in picture related

#

its pure rng if its typed or not

dense sand
#

can someone recommend me a good way to implement locking my vm? they use objects for locks and i was wondering how should i approach this(i use pthreads for multithreading)

#

like im kinda clueless in multithreading soo...

dawn ledge
#

file descriptor, epoll?

dense sand
#

i think java uses mutex like approach whatever it means

raven mortar
#

yesterday i compiled this game on termux

hoary sluice
#

@placid cape @valid jetty i havent implemented automatic stopping yet but for that i just need to detect silence which isnt too hard

#

omg why does discord not preview mkv

#

i just asked claude to clean up my code and it completely removed the CpalRunner workaround that i used for cpal because cpal is !Sync + !Send so i had to spawn it in a separate thread using a separated struct and now it doesnt look ugly and still works

#

3.7

valid jetty
#

put this into it

#

itโ€™s relatively clear i think.????

hoary sluice
#

it detects the word ferris

valid jetty
#

there is nothing in that audio that sounds like ferris lmao

hoary sluice
#

i mean my thing detects the word ferris

#

its not gonna detect it

valid jetty
#

is that all it detects

hoary sluice
#

the wake word is ferris

valid jetty
#

oh

#

oh

#

uhhhhhh

hoary sluice
#

or do you mean if u can query it in japanese

#

cause u cant

valid jetty
#

iโ€™m not recording an audio right now

valid jetty
#

oop

#

unfortunate

hoary sluice
#

it only supports english

valid jetty
#

bad

#

fix

hoary sluice
#

however adding support for other languages is like 5 minutes of work maybe

valid jetty
hoary sluice
#

whisper (speech to text) has an auto translate feature and a language detection feature so id detect and save the language, translate it to english, process it in english and translate it back

valid jetty
#

that

#

uhhh

#

no that sounds like a bad idea

#

what kind of processing do you do???

hoary sluice
#

how else would i do it

hoary sluice
#

its trained in english

#

id have to retrain it for every language

valid jetty
#

well i will tell you, translating english to japanese usually makes it super polite and awful

#

you can imagine it like

hoary sluice
#

oh well the translation can be done by an llm

valid jetty
#

me talking to you like โ€œGreetings, my kind sir. May I kindly and humbly inquire about the available features which were implemented in your speech recognition software? It piques my interest and I would greatly appreciate it.โ€

valid jetty
#

translating from english to japanese is an unsolved computer science problem (unless you use an llm AND specify the politeness of the translation)

#

@austere anchor can confirm

hoary sluice
# valid jetty yeah but the llm doesnโ€™t know the tone of the translation

ใ“ใกใ‚‰ใŒๆ—ฅๆœฌ่ชžใธใฎ็ฟป่จณใงใ™๏ผš


ๆ‰‹้ †๏ผš

ใƒ‘ใƒ†ใ‚ฃใ‚’ไฝœใ‚‹๏ผš

  • ็‰›ใฒใ่‚‰ใ‚’4็ญ‰ๅˆ†ใซๅˆ†ใ‘ใพใ™ใ€‚

  • ใƒใƒณใ‚บใ‚ˆใ‚Šๅฐ‘ใ—ๅคงใใ‚ใซใ€่ปฝใไธธใๆˆๅฝขใ—ใพใ™๏ผˆ่ชฟ็†ไธญใซ็ธฎใ‚€ใŸใ‚๏ผ‰ใ€‚

  • ใƒ‘ใƒ†ใ‚ฃใฎไธญๅคฎใซ่ฆชๆŒ‡ใง่ปฝใใใผใฟใ‚’ไฝœใ‚Šใ€็„ผใ„ใŸใจใใซ่†จใ‚‰ใพใชใ„ใ‚ˆใ†ใซใ—ใพใ™ใ€‚

  • ไธก้ขใซๅกฉใ“ใ—ใ‚‡ใ†ใงๅ‘ณไป˜ใ‘ใ—ใพใ™ใ€‚


ๅฟ…่ฆใชใ‚‰ไป–ใฎ้ƒจๅˆ†ใ‚‚่จณใ™ใฎใงใ€ๆฐ—่ปฝใซใฉใ†ใž๏ผ

#

is this fine

valid jetty
#

yeah thatโ€™s what i meant, this is in the polite form (or at least the instructions are, the final line is casual which is weird)

hoary sluice
#

translate this to japanese Instructions:

Form the Patties:

    Divide the ground beef into 4 equal portions.

    Gently shape into patties slightly larger than your buns (theyโ€™ll shrink while cooking).

    Press a small dent in the center of each patty with your thumb to prevent puffing up.

    Season both sides with salt and pepper.
#

i can use my voice assistant prompt

valid jetty
#

this is casual ๅฟ…่ฆใชใ‚‰ไป–ใฎ้ƒจๅˆ†ใ‚‚่จณใ™ใฎใงใ€ๆฐ—่ปฝใซใฉใ†ใž๏ผ which is funny

hoary sluice
#

ใƒ‘ใƒ†ใ‚ฃใ‚’ไฝœใ‚‹ใซใฏใ€ใฒใ่‚‰ใ‚’4็ญ‰ๅˆ†ใซๅˆ†ใ‘ใพใ™ใ€‚่ปฝใไธธใ‚ใฆใ€ใƒใƒณใ‚บใ‚ˆใ‚Šๅฐ‘ใ—ๅคงใใ‚ใฎใƒ‘ใƒ†ใ‚ฃใซๅฝขใ‚’ๆ•ดใˆใพใ™๏ผˆ็„ผใใจๅฐ‘ใ—็ธฎใฟใพใ™๏ผ‰ใ€‚ใใ‚Œใžใ‚Œใฎใƒ‘ใƒ†ใ‚ฃใฎไธญๅฟƒใซ่ฆชๆŒ‡ใง่ปฝใใใผใฟใ‚’ไฝœใฃใฆใ€็„ผใ„ใฆ่†จใ‚‰ใ‚€ใฎใ‚’้˜ฒใŽใพใ™ใ€‚ไธก้ขใซๅกฉใจใ‚ณใ‚ทใƒงใ‚ฆใงๅ‘ณไป˜ใ‘ใ—ใพใ™ใ€‚

valid jetty
#

yeah no i didnโ€™t say it translates wrong

hoary sluice
#

its just a google translate issue

valid jetty
#

but the politeness of the translation is weird

hoary sluice
#

translating to russian also makes it excessively formal

valid jetty
hoary sluice
#

german works fine

valid jetty
#

because english has a lot of sentences which can be used in both a casual and polite context

#

so if you donโ€™t specify youโ€™ll get the wrong one

hoary sluice
#

but if i make it multilingual im gonna have to make it translate cause its way easier to make an llm translate it in a casual / voice-assistant-ish tone than to train my parser on every language that i want to support

lavish frigate
hoary sluice
#

and whisper supports a whole bunch of languages so id immediately have a lot of support

lavish frigate
#

and complicated-!

valid jetty
#

however google translate ALWAYS translates to polite form using he/him (japanese is genderless most of the time so ja->english it makes use he/him)

valid jetty
#

just make sure to query an llm first asking for the formality of the message as a short single sentence then, when translating back, use that formality in the prompt

hoary sluice
#

if the user queries the voice assistant angrily that doesnt mean it should return an angry message

valid jetty
#

uhhhhh i guess

hoary sluice
#

im prob gonna try doing it on like wednesday

#

cause i need to print the written thesis on tuesday and then wait 1-2 working days for it and submit the whole thing on friday

#

and i really dont have anything else to improve anymore

#

except maybe add support for more window managers or something

valid jetty
#

the google translate curse (i swear iโ€™m gonna use this single short description for every time i want an exemplar)

#

big difference in the japanese it sends tho

hoary sluice
#

lmaoo

valid jetty
#

itโ€™s like COMPLETELY different

#

like yeah it translates to the same thing but the tone is different

hoary sluice
#

i tried it for russian it spit out basically the same thing

#

actually much more straightforward

spark tiger
winged mantle
#

๐Ÿ˜ญ

#

twitter is now just people asking grok...

eternal wigeon
#

Guys, does anyone know what tf this error might mean?

fleet cedar
#

That you missed a parenthesis somewhere

eternal wigeon
eternal wigeon
#

yea I wrote a great code that does not add a new button every 1000ms

raven mortar
#

What was the last time you used vimscript

fleet cedar
#

:wq is technically vimscript

raven mortar
#

I meant using vimscript on a file

valid jetty
#

@deep mulch

raven mortar
pearl stagBOT
# valid jetty <https://github.com/acquitelol/elle/blob/rewrite/Makefile#L41-L63>

Makefile: Lines 41-63

.PHONY: test-file
test-file:
    @ellec $(TEST_FILE) -o __ellec_test_tmp $(if $(VERBOSE),,--hush);
    -@./__ellec_test_tmp foo bar baz;
    @rm -f ./__ellec_test_tmp $(if $(VERBOSE),,> /dev/null);

.PHONY: test-suite-%
test-suite-%:
    @for file in $$(ls tests/$*); do \
        if [ -n "$(CLEAR)" ]; then clear; fi; \
        make $(if $(VERBOSE),VERBOSE=$(VERBOSE),) TEST_FILE=tests/$*/$$file test-file; \
        if [ -n "$(DELAY)" ]; then sleep $(DELAY); fi; \
    done

.PHONY: test
test:
    @make $(if $(VERBOSE),VERBOSE=$(VERBOSE),) TEST_FILE=tests/assert.le test-file
    make $(if $(VERBOSE),VERBOSE=$(VERBOSE),) test-suite-auto
    @# make $(if $(VERBOSE),VERBOSE=$(VERBOSE),) test-suite-manual

.PHONY: test-manual
test-manual:
    @make VERBOSE=1 DELAY=2 CLEAR=1 test-suite-manual
valid jetty
#

love?

valid jetty
#

no its beautiful

#

you get a pretty output

eternal wigeon
#

guys, when a page has this in a <script> tag inside <head>:

<script type="text/javascript" charset="utf-8">
  (function addHearts(){...})();
</script>

will the js actually execute on page load? or do I need to do something else? I have a setTimeout() inside that should run

#

when i run it in the console it runs normally as expected

valid jetty
#

yes that should run

#

you dont need the metadata tho

#

you can just put <script></script>

eternal wigeon
#

yea, the web store platform adds that. i can try adding just the script html without the metadata. lemme see

valid jetty
#

because its in the head it will run before the body is rendered unless you put defer or async on it

deep mulch
#

@valid jetty Elle build tool when

#

build.elle

valid jetty
#

no evil

#

use a makefile

eternal wigeon
valid jetty
#

look at the ichigo makefile

all: ใ„ใกใ”

ใ„ใกใ”: src/main.le
    cd src; ellec main.le -o ../ใ„ใกใ” --cpfmt

build-%: examples/%.igo ใ„ใกใ”
    ./ใ„ใกใ” $<
    @mkdir -p build
    qbe -o build/$*.s examples/$*.ssa
    cc -o build/$* build/$*.s
    @rm -f examples/$*.ssa
    @rm -f build/$*.s

run-%: build-%
    @./build/$*

clean:
    rm -f ใ„ใกใ”
    rm -f build
    rm -f examples/*.ssa
``` like you dont need anything more than this @deep mulch
#

(and im too lazy to make a command abstraction in the elle stdlib)

#

i have to use fork and execvp and WIFEXITED and stuff.............

#

will take a while

deep mulch
#

make syntax bad

supple whale
#

SD cooked again

#

40% gen uplift

eternal wigeon
winged mantle
#

I dunno what license I should use for a Discord bot

#

I worry about people forking it and making it closed source which IMO is bad for the community

#

(you know because my code is so good people would totally steal it)

#

well idk about people making open source forks

#

i have just heard bad things about agpl

#

and gpl has no real effect

#

over the network... most foss licenses do not have an effect

dawn ledge
#

no license stops anyone from stealing code

#

unless youre big corp whos loosing money over stolen code youre most probably arent going to court either

frosty obsidian
#

just be rich

valid jetty
#

after issues i had with people stealing my code, my projects are now all unlicensed

frosty obsidian
#

not hard

valid jetty
#

aka under copyright law

#

i had to file a dmca strike and take down a project it was a huge hassle and i hated it

#

im not doing that again

winged mantle
#

oh well i guess even if agpl would be good in theory it's hard to enforce

winged mantle
#

but still I would rather say carl bot or whatever didn't just take my code which sounds very delusional but that's just the first example i can think of blobcatcozy

valid jetty
frosty obsidian
#

then you just don't want open source

valid jetty
#

but all unlicensed means is like, you need to ask for permission to use the code

frosty obsidian
#

open sourcing means you want people to be able to use the code

winged mantle
#

i do

#

i just don't want it to be in propriatary projects

#

similak,r to gpl

valid jetty
#

nevermind elle isnt licensed oop

#

i should fix that

#

soon

austere idol
valid jetty
#

not very often

winged mantle
#

i don't want somebody to fork and make closed source because then that is worse for community

#

they don't have to give back upstream

austere idol
frosty obsidian
#

gpl3 is what you want then

winged mantle
#

but it doesn't work for discord bots

#

nobody downlaods the discord bot

#

it's over the internet

valid jetty
winged mantle
#

is there communist license

austere idol
valid jetty
#

isnt that MIT

winged mantle
#

that's socialist license

frosty obsidian
winged mantle
#

why does vencord not have hammer and sickle emoji

valid jetty
#

you can use the code as much as you want but you have to put the license in the code

winged mantle
frosty obsidian
#

its literally just gpl3 with the extension that network use is distribution

winged mantle
#

i have heard agpl3 is a very weird license which basically prevents anyone from forking despite somehow being considered open source

austere idol
winged mantle
#

ah well

#

how do you contribute

#

your patch will include that

austere idol
#

the issue is that apgl3 was created in times when you have sended patches instead of forking and modifying to contribute

austere idol
winged mantle
#

marcan left

#

wait

#

why is it not fine if you're not hosting it

#

you're not hosting the program directly just its source code?

#

if you have firewall won't it only be accessible to you?

austere idol
#

i am talking about that

#

my english is bad, sometimes i will be misunderstood

winged mantle
#

uh

#

would it not be fine to have a fork hosted with the wrong url

#

surely the problem would arise when running the code

#

and therefore making the application accessible over the network

winged mantle
#

it wouldn't be fine?

#

despite the source code being right there

#

you don't need the url to find it

austere idol
#

i assume it wouldnt

#

im tired

frosty obsidian
#

you know that you get to pick how you want to enforce the license right

#

if you think forking is fine then you can just allow it

#

github terms says you have to anyways

austere idol
frosty obsidian
#

i use gpl3 for applications and mit for libraries

winged mantle
#

i just want to dissuade it from being taken

frosty obsidian
#

agpl3 will work for you

winged mantle
#

though i might want a plugin system

austere idol
winged mantle
#

so maybe gpl would be pain for that too

#

though ... with js you don't have to link?

austere idol
jade stone
#

@nimble bone me when i inject my shitcode into spotify

#

looping MessageBoxW

jade stone
#

it was just a default thing i copied from windows docs

jade stone
ornate quiver
#

lmao

jade stone
#

i can, but idfk how windows dlls work so i need to get it to be sane

#

also printing to stdout does nothing

#

but opening a message box does

valid jetty
#

hmmm im not sure how to fix this while keeping the error

#

if i do a type conversion itll throw an error in the type conversion if it fails to implicitly convert

#

thats not exactly what i want

#

but i still want the ability to implicitly convert when passing something to a generic function

#

i suppose i can do a "can_convert_to_type" which simply returns whether its possible to convert from type X to type Y

royal nymph
#

you will make it explicit

#

implicit casting is hell

jade stone
#

spotify now works when i inject

formal belfry
#

gaming

austere idol
valid jetty
#

because the compiler can implicitly convert between i32 and char

#

but its just the difference in type between Ts

#

so forcing you to explicitly convert doesnt make sense if, when its not in a generic context, the compiler can implicitly convert

#

i fixed it by making a function similar to convert_to_type but just can_convert_to_type

pearl stagBOT
# valid jetty <https://github.com/acquitelol/elle/blob/rewrite/src/compiler/compiler.rs#L3924-...

compiler.rs: Lines 3924-3963

fn can_convert_to_type(
    &mut self,
    first: Type,
    second: Type,
    explicit: bool,
) -> bool {
    if first.is_struct() || second.is_struct() {
        let structs_are_the_same = first == second;
        let explicit_struct_to_ptr = explicit
            && ((first.is_struct() && second.is_pointer_like())
                || (second.is_struct() && first.is_pointer_like()));
        let first_is_ptr_of_second = first.is_pointer() && first.get_pointer_inner().unwrap() == second;

        return structs_are_the_same || explicit_struct_to_ptr || first_is_ptr_of_second;
    }

    if ((first.is_strictly_number() && second.is_string())
        || (second.is_strictly_number() && first.is_string()))
        && !explicit {
        return false;
    }

    if (first.is_pointer()
        && second.is_pointer())
        && (first.get_pointer_inner().unwrap().is_void()
            || second.get_pointer_inner().unwrap().is_void()) {
        return true;
    }

    if ((first.is_pointer() && second.is_pointer())
        && first.get_pointer_inner().unwrap() != second.get_pointer_inner().unwrap())
        && !explicit && self.pedantic {
        return false;
    }

    let weights_match = first.weight() == second.weight();
    let both_int_or_float = (first.is_int() && second.is_int()) || (first.is_float() && second.is_float());

    return weights_match || both_int_or_float;
}
valid jetty
#

if the --pedantic flag is set, the compiler will additionally throw an error when trying to convert between any pointer type unless its T* -> void* or void* -> T*

#

and ofc the runtime is built with --pedantic because it would be weird not to

graceful shadow
#

hello hello :) can anyone help me get the correct regex for the message timestamp, right next to the username?
currently i have this:

    patches: [
        {
            find: "showCommunicationDisabledStyles",
            replacement: {
                match: /(return\s*\(0,\i\.jsxs?\)\(.+?)(\(0,\i\.jsxs?\)\(.+?\{.+?\}\))(,.+?\))/,
                replace: "[$1, $self.Timestamp(arguments[0])]"
            }
        }
    ],

the way the regex is now, it is just placing the text next to the already existing timestamp, as you can see in the screenshot. could anyone help me please?

lavish frigate
graceful shadow
#

i wanna have seconds on the timestamps

#

is there already an existing plugin or setting that does that?

lavish frigate
#

ah... okay...

graceful shadow
#

i tried looking for it and found nothing to add seconds to the timestamps

hollow patio
#

when i told my friend i started learning c++ in class he said crystal is better

lavish frigate
#

learning instant legacy code <3 brave

valid jetty
#

odin looks pretty cool

#

as does zig

#

as does c3

#

as does D

#

as does rust

#

as does jai

lavish frigate
#

idk about c3

#

c3 does not make sense to me at all

valid jetty
#

c3 is what c++ shouldve been imo

#

C-like syntax but like, improved upon

#

c++ is that but made by masochists

#

โค๏ธ

hollow patio
#

now my job center put me to learn python and c++

lavish frigate
# valid jetty C-like syntax but like, improved upon

im sorry but c3 syntax absolutely blows
its like someone just mashed together what their idea of rust and c is like holy shit
fn voidyea?? fn void? ????????? why

in c void makes sense because you gotta type the return type of every function void main() {} makes perfect sense, its mandatory and thats why it can instantly be used to identify functions
in rust fn makes sense because the compiler can infer void and so void would be unnecessary, it needs the fn to identify functions
and then c3 comes along throws all that out of the windows wants to jerk off both c and rust developers and does fn void.....................................

the entire language is filled with nonsensical design decisions like this, it does not make sense to me

valid jetty
#

and having the fn keyword makes functions greppable

#

it is a useful syntax feature and it is very much on purpose like that

#

it makes sense if you write C code in an editor like vim or emacs and come across issues like this

lavish frigate
#

arguably it doesnt since void blends in more than... nothing at all, when i look at a function and see nothing i instantly know it also returns nothing
and as if main() { isnt greppable

valid jetty
#

what if you want to grep for functions that return a specific thing but dont know its name, there is a reason a lot of headers for libraries have like a LIB_XYZ prefix for their functions, it makes the name greppable easier

#

look at raylib

valid jetty
lavish frigate
#

right.

valid jetty
#

theres no reason to explicitly allow no return type if the function returns void

lavish frigate
#

back to 1970 we go

valid jetty
#

well you said you dont understand the design decisions and im trying to help you understand, if you want to treat them like the 1970s go ahead but the choices are definitely deliberate

lavish frigate
# valid jetty well you said you dont understand the design decisions and im trying to help you...

yeah i dont understand the design decisions, the choices do not feel deliberate at all
it very much just feels like your another average "c but """better"""" " language, stuck trying to decide whether to fully commit to actually being said "better" language and keeping all the C garbage
feels like the developers of it just decided to take a bunch of stuff they found cool and mashed it together into a single language

the "fn" still does not make sense to me, there is quite literally no reason to include it, you can tell me about greppling but again as if it was that difficult to grep without the fn!
looking through the documentation you have stuff like contracts which "Note that compilers are not obliged to process pre- and post-conditions at all"????????????????? "validate incoming arguments" do if statements not exist?
you also THREE different types of comments (as if 2 werent enough) for some reason you can also type hint your function in the comments (i guess they took this from jsdoc, makes no sense at all)
defer makes absolutely no sense, the syntax is sometimes just inconsistent (why the hell use $ with $if? Doesnt c literally have its own solution for this? why not use that?) it has C interop but id be genuinely amazed if it didnt considering it works mostly the same

and rn im constantly looking through the docs to find anything that makes it so much better than c (other than having those inconsistencies?)
it adds modules which is cool ofc! but why when there isnt the tooling to actually make it useful? I cant find a c3 package manager or similar other than a github repo... amazing thanks
c3 is trying to tell me its safer than c, sure i guess but like i said before you can type hint your function with comments.. there is an any type... how exactly is it safer? very much feels like this is just a mine field for developers so why not commit to actual said "safety" instead of porting exceptions over to c??

but still, im trying to find an actual use for it. Seems like it doesnt make c that much better now does it? hobby projects i guess? so why would a C developer get out of their comfort zone and use c3, why would a js/py/go dev start with c3? and why should a zig/rust/c++ dev go back and use c3?

lavish frigate
visual shellBOT
lavish frigate
hollow patio
valid jetty
# lavish frigate yeah i dont understand the design decisions, the choices do not feel deliberate ...

$ is c3's macro system, things with $ are comptime statements, it also has switch statements and loops which use $

one of the big improvents is the "vector" system which is really cool, you can do swizzling and stuff like in shaders:

// can be swizzled with xyzw and rgba depending on what you want to do
// because these vector abstractions can be used for colors, 
// vectors (like in physics), and various other things
int[<3>] a = { 11, 22, 33 };
int[<4>] b = a.xxzx;                         // b = { 11, 11, 33, 11 }
int c = b.w;                                 // c = 11;
char[<4>] color = { 0x11, 0x22, 0x33, 0xFF };
char red = color.r;                          // red = 0x11
b.xy = b.zw;
color.rg += { 1, 2 };

another improvement is the semantic macros which are much more powerful than macros in C and give you syntax similar to rust:

macro @shift(&xs) {
    var x = (*xs)[0];
    (*xs) = (*xs)[1..];
    return x;
}

another improvement is the module system, as you mentioned, this is a huge addition because you can basically split things into file-based namespaces and it fixes a bunch of things like duplicate symbols and include guards that you see in C

defer always makes sense in a low level systems language, it allows you to group together allocation and deallocation with no runtime expense (its a 0 cost abtraction)

safety - optionals (Maybe/Option), slices (which means range/bounds checks), meaningful stack traces instead of just "Segmentation fault"

#

just to list a few

#

there are a bunch of other improvements

placid cape
#

google gemini (2.5 pro and their deepresearch model) and notebooklm is fucking awesome

hoary sluice
#

elle on the frontend elle on the backend elle on your pregnancy test

valid jetty
#

elle has horrible design decisions in some places but thats mostly because its just me working on it

hoary sluice
placid cape
#

Yes XDDD

#

It's awesome

hoary sluice
#

/gemini

#

dox rosie

placid cape
#

and everything is completely free

#

their deep research model and also notebooklm

hoary sluice
#

did u like collect all ur info or does it figure it out itself

valid jetty
#

do NOT dox me

valid jetty
placid cape
#

My prompt was just something like "create a deep dive summary about Jozef Steinhรผbl (xhyrom)"

hoary sluice
#

how do you do the podcast thing

placid cape
#

NotebookLM

hoary sluice
#

this is evil

valid jetty
#

it wont let me export it as an audio file

spark tiger
#

smth like uhhh spicetify ?

placid cape
#

it should work

valid jetty
#

ello โค๏ธ

dawn ledge
#

ello

#

why is it so choppy

hoary sluice
jade stone
#

I already have some basics working on Linux but I also want to port to windows

spark tiger
#

via like xpui.spa?

jade stone
spark tiger
#

a shared object?

jade stone
#

The shared object loads native code into the window so I can do things like file system access and stuff

#

And the xpui.spa just loads the javascript for the mod itself.

#

I could do everything via the shared object, but I don't want to bother with that right now.

spark tiger
#

how do you access the api so you can like for example interact with the playback

#

man what the hell why did my discord just turn this

jade stone
#

on windows and linux

spark tiger
#

got it

valid jetty
#

i got 100% on this test LMAOO

#

first 100% on a test since the start of the year

#

every other test was in the high 90s but i lost marks for stupid ambiguity not because i didnt know the answer

#

i asked more questions to clarify in this test so there was no ambiguity

#

ayayayayaya

solid gazelle
#

294:482:67:193

nimble bone
valid jetty
#

@hoary sluice im finally refactoring the codegen mess

#

im putting each astnode to have its own distinct struct instead of the struct being implicitly part of the AstNode enum

#

which lets me implement a trait on each struct and just call .compile()

#

this will take forever but should be sooooo much cleaner when done

dawn ledge
#

macro it

valid jetty
#

wdym

dawn ledge
#

procmacros my beloved

valid jetty
#

oh like

#

a procmacro to automatically do

match x {
    X::X => this.compile(self, &ctx),
    X::Y => this.compile(self, &ctx),
    X::Z => this.compile(self, &ctx),
}
#

?

dawn ledge
# valid jetty wdym
#[derive(CompileNodes)]
enum AstNode {
    Expression(Expression),
    // ...
}

// Macro generated impl
impl /* CompileNodes for */ AstNode {
    fn compile(self, ctx: /* ... */) {
        use AstNode::*;

        match self {
            Expression(this) => this.compile(self, &ctx),
            // ...
        }
    }
}
valid jetty
#

yeah but this is a little more involved

#

i can do it with a proc macro

#

but ill take it 1 step at a time

#

theres a lot to refactor

dawn ledge
#

true

fleet cedar
#

Isn't this what enum-dispatch does?

valid jetty
#

this is gonna take a while..

#

i just realized this is technically adding lines of code overall

#

even though its removing lines from the compiler

hoary sluice
hoary sluice
#

yep 3096 lines including blanks

valid jetty
#

without this codegen refactoring its 4668 loc lmao

valid jetty
#

but it makes it hard to cleanly dispatch different functions depending on the variant without passing around a bunch of values

#

i have this now

#

then each file implements the Codegen trait for one of those structs