#πŸͺ…-progaming

1 messages Β· Page 123 of 1

valid jetty
#

yeah it's crazy

#

i wanna see a real dragon one day

#

all 27 wing software users will cry

frosty obsidian
#

zeet doesn't realize the world runs on frogs

valid jetty
#

wing you would love this graphics programming server im in

#

they're kinda obsessed with frogs

deep mulch
#

@valid jetty https://tetris.wiki/Super_Rotation_System i need to implement this

The Super Rotation System, or SRS is the current Tetris Guideline standard for how tetrominoes rotate and what wall kicks they may perform. SRS traces its roots back to 1991 when BPS introduced third and fourth rotation states for the S, Z, and I tetrominoes in the game Tetris 2 + Bombliss. Two years later, in the game Tetris Battle Gaiden, BPS ...

#

you might like

frosty obsidian
#

im not actually that into frogs, my pfp just stuck

deep mulch
#

wing has a framed portrait of his pfp on the wall

#

@frosty obsidian you wear a shirt with your pfp on it

valid jetty
#

the same project that im making a compiler for a japanese language for lol

frosty obsidian
#

zeet loves that tetris is very strictly standardized

deep mulch
#

yop

frosty obsidian
#

you have so much work to do if you want compliance

deep mulch
#

you will do

frosty obsidian
#

nop

deep mulch
#

you will be play tester

frosty obsidian
#

haven't played tetris in forever

deep mulch
#

you have played minecraft too much

#

@frosty obsidian plays minecraft and doomscrolls twitter

valid jetty
#

@lucid trail did you figure out if it works with a lower triangle count?

#

the dragons lower in triangle count as you go down the order

#

because i started with dragon.obj and then kept adding more triangles once i saw "oh, it's working with this many just fine.. can it handle more??"

#

until i got to the full dragon at dragon4

#

iirc dragon 1 is 0.005, dragon 2 is 0.05, dragon 3 is 0.1, dragon 4 is 1

#

in terms of decimated scaling

frosty obsidian
#

@deep mulch the compose pdf rewrite looks good

#

nothing stuck out to me

valid jetty
#

ok cool

lucid trail
#

works with cube

#

works with penger too

valid jetty
#

yeah that's expected those have like barely any triangles

valid jetty
#

finally

jade stone
#

how much fps

valid jetty
#

like 0.4

deep mulch
#

@valid jetty make it realtime when

lucid trail
#

@valid jetty it was a raylib issue

#

very cool

stoic helm
#

cant give discord bots display name styles uwaaaaa

ornate quiver
#

spooky

valid jetty
nimble bone
#

@valid jetty

#

rewrite Elle in Elle

valid jetty
#

soon

icy geode
#

Is there a CSS snippet to remove custom status of users from the server list if so what is it called? (Sorry if it's the wrong channel, I have no idea where to ask)

deep mulch
#

@valid jetty rewrite Elle in typescript type system

lucid trail
deep mulch
#

@valid jetty make inverse kinematics in elle

#

would be cool

deep mulch
#

So excited to be back to content creation!
Code: https://github.com/syphlux/robot-arm-catching-ball

πŸ”΄ Learn graph theory algorithms: https://inscod.com/graphalgo
βš™ Learn dynamic programming: https://inscod.com/dp_course
πŸ’‘ Learn to solve popular coding interview problems: https://inscod.com/50problems_course
βŒ› Learn time and space comp...

β–Ά Play video
#

yop

deep mulch
#

has anyone here done OCR

#

or used tesseract

dense sand
#

Is this x86?

shrewd canopy
deep mulch
#

yes

dense sand
#

Osdev so cool

pseudo sierra
#

I think

#

I really hope I'm not misremembering that cuz that'd be awkward

deep mulch
#

@pseudo sierra bwa

pseudo sierra
#

@deep mulch bwa

solemn ravine
#

FINALLY 😭

valid jetty
lucid trail
valid jetty
#

oh

#

okie i'll try that

deep mulch
#

how use OCR to read handwritten text in a table

#

oh

#

is there something I can use

shrewd canopy
spark tiger
#

how is it None if i literally ensure before that there are five args

#

let mut args = env::args();

lucid trail
spark tiger
#

it’s Args from std::something

spark tiger
lucid trail
#

nth might be consuming

#

yeah Args is an iter

spark tiger
fleet cedar
#

.nth(n) means calling next() n+1 times

#

Try collecting to a vec first

spark tiger
#

yay it works thanks

#

now i just need to do error handling... sigh

hoary sluice
fleet cedar
#

Which is pretty dumb ngl, because args() always creates a Vec<String> up front and then wraps a vec::IntoIter

#

To avoid issues if something changes argv while iterating

crude star
#

damn they really do that

valid jetty
#

@lucid trail can you pull and try to build this scene to see if it works

#

you may need to lower the resolution from src/lib/enums.le, its rendering at 4k rn

#

but i just wanna see if the 4.4m triangle scene works for you

lucid trail
#

will do

#

i’m going to watch the reze arc movie first tho

deep mulch
#

@valid jetty hiii

valid jetty
#

hiii

valid jetty
#

yay

solemn ravine
#

@woven mesa how likely is it someone would register 1000 app ids

#

I mean ngl my current account has a few

deep mulch
solemn ravine
#

@woven mesa I dont understand this api it gives me like a trillion lines of json data

woven mesa
#

youtube is worse

solemn ravine
#

cant be as bad as this

#

this api is gross why is there so much junk I dont need

#

why are these prepended with its id

woven mesa
solemn ravine
#

@woven mesa I figured out the endpoint for changing capabilites

#

heres what I would need to send

#

I would need to send like the entire thing

woven mesa
solemn ravine
#

I really hope that the capabilities array is like simple and not overly complicated

woven mesa
#

true

solemn ravine
#

I got another app id with every single thging possible

#

85 entries fr

woven mesa
#

insane

solemn ravine
#

88 now

#

okay it seems like only these are different from the other ones

#

its the ones with more than one singular option

#

which is fine but I'm not entirely sure how I would know when to give these

#

I might just ignore these

#

@woven mesa bro

#

why do people do this

pseudo sierra
#

horror

woven mesa
pearl stagBOT
#

AppIDViewModel.swift: Line 57

request.httpBody = "{\"data\":{\"relationships\":{\"bundleIdCapabilities\":{\"data\":[{\"relationships\":{\"capability\":{\"data\":{\"id\":\"INCREASED_MEMORY_LIMIT\",\"type\":\"capabilities\"}}},\"type\":\"bundleIdCapabilities\",\"attributes\":{\"settings\":[],\"enabled\":true}}]}},\"id\":\"\(appID.identifier)\",\"attributes\":{\"hasExclusiveManagedCapabilities\":false,\"teamId\":\"\(team.identifier)\",\"bundleType\":\"bundle\",\"identifier\":\"\(appID.bundleIdentifier)\",\"seedId\":\"\(team.identifier)\",\"name\":\"\(appID.name)\"},\"type\":\"bundleIds\"}}".data(using: .utf8)
solemn ravine
#

boooo

signal oakBOT
# pearl stag **[AppIDViewModel.swift](<https://github.com/hugeBlack/GetMoreRam/blob/main/Enti...
{
  "data": {
    "relationships": {
      "bundleIdCapabilities": {
        "data": [
          {
            "relationships": {
              "capability": {
                "data": {
                  "id": "INCREASED_MEMORY_LIMIT",
                  "type": "capabilities"
                }
              }
            },
            "type": "bundleIdCapabilities",
            "attributes": {
              "settings": [],
              "enabled": true
            }
          }
        ]
      }
    },
    "id": "\(appID.identifier)",
    "attributes": {
      "hasExclusiveManagedCapabilities": false,
      "teamId": "\(team.identifier)",
      "bundleType": "bundle",
      "identifier": "\(appID.bundleIdentifier)",
      "seedId": "\(team.identifier)",
      "name": "\(appID.name)"
    },
    "type": "bundleIds"
  }
}
Question

make this json readable

solemn ravine
#

thank you

#

why does it give it so much junk data

#

is that really needed

worldly sigil
#

free junk data to flood your types

solemn ravine
#

this might be goated

winged mantle
#

is it just a skill issue or do circular module dependencies often make things cleaner

#

go packages are a one sided relationship

#

go packages are parasocial

fleet cedar
#

Circular module dependencies usually imply they shouldn't be different modules

winged mantle
#

in my case merging all the modules would be insane

#

they're separate plugins

granite moat
#

I made a small java agent crate for rust

#[java_agent_onload]
fn onload(args: SafeAgentArgs) -> AgentStatus {
    println!("hi agent world!");

    AgentStatus::Success
}
#

I'm testing out if it's possible to write a modloader in rust

#

which it should be with jvmti

winged mantle
#

idk maybe i9t's not necessary

#

but i'm too emotionally attached to my current typescript codebase to rewrite it in go

granite moat
solemn ravine
granite moat
#

ooo wait

#

that could be super useful for crates which does unsafe stuff under the hood while still allowing access to fields

winged mantle
#

idk i'm gonna go back to writing C like god indended for now

#

c is the perfect recreational programming language, it makes things hard in a fun way

fleet cedar
#

A language without generics isn't worth using tbh

winged mantle
#

c just makes generics more fun

shrewd canopy
fleet cedar
winged mantle
#

i mean most of the time you don't need to use it directly

fleet cedar
#

Individual functions, sometimes if thr situation calls for it

shrewd canopy
granite moat
#

for bare metal or extreme performance requirements (small parts) asm can make sense

#

for example ffmpeg

#

uses assembly for media encoding/decoding in hot paths

fleet cedar
#

While the majority can be written in a higher level language

winged mantle
#

sometimes impractical things are fun/interesting

#

life is short, write some asm

solemn ravine
#

@woven mesa all capabilities available on free accounts

woven mesa
#

WHAT

solemn ravine
#

wdym what

woven mesa
#

i misunderstood without context from notification

#

disregard my overreaction

solemn ravine
#

wtf could this be

#

never heard of a marzipan before

fleet cedar
#

Isn't that the colorful sugar paste you have on cakes and stuff

solemn ravine
#

"Capability to migrate apps to macOS platform"

#

yeah lets give it a name of a food

#

ill need to start work on developing the submitting csr part

#

then I can get to fun stuff

#

luckily someone has already made code for it

royal nymph
#

I'm crying how can you be this retarded

#

I would get if you accidentally open an issue cause you don't know better

but then he was told to disclose it privately and his issue got deleted yet he doubles down on making an issue 😭

fleet cedar
#

Someone hasn't heard of responsible disclosure

night sphinx
#

the kind of person to not ask why there are fences in a barn and just breaks in

royal nymph
#

(I also read his poc and it's so cringy lmao)

solemn ravine
#

it exists for a reason yes

#

if you 100% know that optional value will never be null then use it

fleet cedar
#

Never. .expect() is fine sometimes, though

#

Try camino crate if you don't want to bother with non-utf8 (aka invalid) file paths

#

I do understand that the stdlib doesn't want to impose restrictions on what systems it supports (such as using utf8), but in this instance I kinda wish it did

wooden drift
#

this video is a fun take on interpreted vs compiled language
follow form more programming content specially in javascript , python , c++ , java and become skillful coder and developer

Don't forget to LIKE, COMMENT, and SUBSCRIBE for more tech comedy and insightful developer content!

#programming #coding #DeveloperLife#WebDevelopment #UIUXDesig...

β–Ά Play video
hoary sluice
#

@fleet cedar what type to use for a file received from web frontend

#

u8 slice?

#

i dont need content type

fleet cedar
valid jetty
#

@hoary sluice i added spreading

#

its not like js spreading, its position in the struct init is irrelevant

#

it sets default values for the struct rather than override values

#

it was kinda easy

hoary sluice
#

it only needs the file content

hoary sluice
lucid trail
hoary sluice
valid jetty
#

how does it work

hoary sluice
lucid trail
# valid jetty how does it work

i modify raylib to use glsl 430 with location specifiers for the SPIRV compliation, then build raylib without glfw, link it against libmgl and libglflw when compiling the elle

#

i dont have to modify elle's raylib at all, but it's still very broken

#

i spent several days on this

#

lol

#

drawing any text breaks everything, also absolutely horrible experience overall

hoary sluice
#

@valid jetty should i write a gedcom parser in elle

#

are there any projects using elle in prod

#

can elle interop with rust

#

only via c ffi right

deep mulch
#

@valid jetty hiii

#

elle will soon be official github language

valid jetty
hoary sluice
#

raytracer and ichigo

#

and what else

valid jetty
#

pomee

#

my rhythm game

hoary sluice
#

but none of these are prod

valid jetty
#

well yeah but its not a prod language

#

im nowhere near 1.0

#

backwards incompatible changes happen almost every commit

hoary sluice
#

i can fix compiler version

#

if i were to write the parser in elle i would just connect them with a rest api right

valid jetty
#

theres no rest fetching yet in the stdlib lol

#

just tcp sockets which you can use for http

hoary sluice
#

altho a gedcom parser crate would probably be more useful

#

theres 3 rn, one of them defines the datastructures for gedcom x which is different, one only supports the 1996 version and one is a fork of the old parser that has a "goal" to parse gedcom 7.0 but doesnt yet

valid jetty
#

why do you need a gedcom parser anyway

hoary sluice
#

there are no good ones out there

#

theres like 50 options and all of them are garbage

#

or bloated

fleet cedar
#

Will yours be not garbage?

hoary sluice
#

its not that hard

#

its like an aoc day 24 basically

#

the tree part

#

all the versions ive seen are either

  1. extremely bloated, require signup, 50$ a month, very laggy (ancestry and myheritage)
  2. simple gedcom to png converters
  3. have 1980 ui
  4. are (sometimes paid) windows apps
#

4 usually includes 3

valid jetty
#

eagely

#

in my raytracer for traversing my bounding volume hierarchy i had to use a dfs

deep mulch
#

elle discord client when @valid jetty

#

needs to compete with vencord

valid jetty
#

first time in like 4 months that i used a traversal algorithm that isnt for aoc or school

hoary sluice
#

in the tree viewer

#

i had to do a bfs

#

to determine the generation

#

of a person

valid jetty
#

yeah like, recently ish

#

we also did dijkstra but not A*

hoary sluice
#

i think we had 1 lesson of algos in school

#

80 page pdf on graphs in uni

valid jetty
#

we were tought all abstract data structures too

#

like stacks, queues, hashmaps, etc

#

but those are easy to use anyway

hoary sluice
valid jetty
#

we were tought ""trees"" but they didnt really go that in depth

#

like they didnt mention red black trees or avl trees

#

or really anything more advanced than base level knowledge

hoary sluice
#

i might just make my own format instead

#

and use the gedcom 5.5.1 parser from cargo

#

to convert

deep mulch
#

djistraka @valid jetty

valid jetty
#

could you try, with raylib and opengl 4.3, to change the code in the raytracer to use an ssbo instead of a texture buffer and record the performance improvement

#

you seem to understand the codebase so i think you'd know how to do it

#

if possible, split the triangles and bvh into 2 separate ssbos

#

that would also make the full 7.2m triangle viable to render since you don't need to push the triangles and bvh into the same buffer

deep mulch
solemn ravine
#

is that actually true

#

I dont think it is

#

xcode is not required for anything

deep mulch
#

oh

#

rosie crazy

solemn ravine
#

just saying, xcode just comes with a bunch of tools used for development, is it necessary to install? no. is it convenient? yes.

#

but also opengl on mac is crazy

deep mulch
valid jetty
#

i will try build without xcode

#

i do have clt

lucid trail
#

also zed now has a settings menu!

valid jetty
#

yep i saw

#

tbh i prefer the json format

lucid trail
#

yeah if i'm trying to find an option though

valid jetty
#

am i doing something wrong building MGL?

#

theres no BUILD.md so i dont know how im supposed to build it

lucid trail
valid jetty
#

i did

sh ./clone_external_sources
sh ./build_external_sources

then i commented out the =NULL from the thing MGL added and built everything
but i cant get the main MGL to build, various things are missing and i dont know why

#

like the python script

lucid trail
#

Ah that

#

one sec

valid jetty
#

non existent

lucid trail
#

yeah the one i'm working on is only using cmake now

valid jetty
#

lmao the models are making it take so long to clone

lucid trail
#

i also have raylib in there

valid jetty
#

husk

lucid trail
#

i think the build for raylib is messed up rn

jade stone
#

paige so insane

deep mulch
#

collect my paiges

pseudo sierra
#

paige so sane

valid jetty
#

ok what am i missing

#

i cloned with --recursive but the spirv stuff isnt here

#

blehhhh

#

blehhhhhhh

deep mulch
jade stone
lucid trail
#

uhhh how did i fix it... hmm

valid jetty
#

ok i just cloned them manually

#

now to fix the Findglslang.cmake

jade stone
#

esbuild slander

lucid trail
#

i dont have SPIRV-Cross here, idk how this is even actually building

pseudo sierra
lucid trail
#

ah it was cached !!!! i was just using the shit in my build folder

deep mulch
#

Findglefjksjgkejf

lucid trail
#

i had spriv-cross at some point and then removed it

valid jetty
#

well its weird because its in .gitmodules

lucid trail
#

yeah

#

i know

valid jetty
#

just for some reason git doesnt clone it when i clone the repo

#

not sure why

lucid trail
#

subprojects is in gitignore

#

oh i know why

#

in the original it would've been something the get_external got

#

fixed, pushed

#

i wonder how cmake never cared that spirv was not actually checked out

valid jetty
#

ok well that somewhat worked but i still get this

lucid trail
valid jetty
#

at one point i should like do this

lucid trail
#

it's horrid

valid jetty
#

hm

#

does 4.6 work correctly with text and stuff?

lucid trail
#

wdym by 4.6

valid jetty
#

opengl 4.6

lucid trail
#

what has opengl to do with it

valid jetty
#

nono its irrelevant

#

im just asking

lucid trail
#

i mean the raylib text drawing is not working but that's because of some issue in MGL

#

i think

valid jetty
#

i meant does 4.6 work correctly with text in raylib

#

ah

#

uhbbb ```sh
rlgl.h:887:14: fatal error: 'GL/glcorearb.h' file not found
#include <GL/glcorearb.h>
^~~~~~~~~~~~~~~~

lucid trail
#

i'm trying to find a commit where this worked

#

it really makes no sense to me

#

why the hell is trying to build the examples if i'm in /src

valid jetty
#

i think i got it to build

#

nvm

lucid trail
#

wow running make changes the makefile

#

this is actually cursed

#

@valid jetty i got it

#

just go into raylib and run cmake --build build, should work

valid jetty
valid jetty
lucid trail
# valid jetty

pull, i fixed this by making raylib build without glfw

valid jetty
#

i downloaded rlcorearb.h locally and moved some includes around and it worked

lucid trail
#

yeah i also moved raylib into examples

valid jetty
#

i think you forgot something

#

raylib is gone

lucid trail
#

oh yeah that's really strange

#

oops

valid jetty
#

lmao

lucid trail
#

i see what i did

#

ok wow

#

ok sure just revert that

#

really, i should just remove build from gitignore

#

@valid jetty does this work

  1. cmake -B build -S . -DUSE_EXTERNAL_GLFW=ON -DBUILD_SHARED_LIBS=OFF
  2. cmake --build build --target raylib
valid jetty
#

is this the correct result

lucid trail
#

yes

#

amazing

valid jetty
#

ok cool

lucid trail
#

i dont quite understand why drawing text is cooking it, since all its doing should be DrawTexturePro, but we are already doing that

little bluff
#

i want a plugin which appends text at the end of messages but i know its probably not made, but i need a starting point since im a absoulute noob, is there a plugin which modifies the sent text after SENT but before its sent to the servers? that way i can just modify it

elder yarrowBOT
little bluff
coral mountain
#

i downgraded to sequoia

#

new metal sucks ass

#

you can't even have 10 apps open with it

little bluff
fleet cedar
#

Just keep in mind that homestuck typing quirks are mega cringe

crude star
little bluff
#

-pi:P

crude star
#

😭

little bluff
#

oh no back to coding πŸ₯€ its affecting emoticons-pi

#

fml-pi

#

:P

#

yayyy-pi

royal nymph
#

you have psychosis

winged mantle
mellow plinth
#

testing a plugin I made where it makes the avatars and server icons square, because I like it looking like that.

winged mantle
#

can't you justu se css

gilded surge
#
out = out.replaceAll(/\`.(.+?)`/g,"$1").split("\n").flatMap((entry) => entry.split("     | ")).filter((entry) => ["rv","wv","wl","st"].some((register) => entry.includes(register))).filter((entry) => !entry.includes("⌽")).map((entry) => entry.replaceAll(" ","")).map((entry) => entry.split("┃┃").map((instr) => instr.replaceAll("┃","")));
    const chunk = (array, chunk_size) => Array(Math.ceil(array.length / chunk_size)).fill().map((_, index) => index * chunk_size).map(begin => array.slice(begin, begin + chunk_size));
    let left = [];
    let right = [];
    out.forEach((pair) => { left.push(pair[0]); right.push(pair[1]); })
    let leftChunks = chunk(left, 4)
    let rightChunks = chunk(right, 4)
    let instructions = (leftChunks.length >= rightChunks.length ? leftChunks : rightChunks).flatMap((_,i) => [leftChunks[i],rightChunks[i]]).flatMap(_ => _).filter((entry) => entry != null).map((entry) => entry.split(",")).map((entry) => [[entry[0].slice(0,3),entry[0].slice(3)],entry[1]]).map((entry) => entry.filter((instr) => instr != null)).map((entry) => typeof entry[1] !== "string" ? entry[0] : entry[0].concat(entry[1]))
#

javascript, truly the most beautiful language

#

you know it's working when you have more code than empty space

shrewd canopy
#

is this some pseudo asm

gilded surge
#

basically yeah

#

it's for a puzzle

shrewd canopy
#

drop

gilded surge
#

you would have to buy a game

shrewd canopy
#

why

gilded surge
#

cause the puzzle is in the game

#

you would also be forced to use javascript all of the time

shrewd canopy
#

is the game about reverse engineering basically?

gilded surge
#

nah

#

this is just a huge ass puzzle somebody dropped

#

actually yeah the game is kinda about reverse engineering

#

the games tagline is literally "before you is a system about which you know nothing"

shrewd canopy
#

interesting

gilded surge
#

it's a MUD, if you've ever heard of those

valid jetty
#

@solid gazelle using elle as a scripting language

#!/usr/bin/env -S ellec --silent --run
use std/prelude;

namespace DIR;

enum DirentType @repr(u8) {
    Dir = 0b00000100,
    Reg = 0b00001000,
}

struct Dirent {
    u64        ino,
    u64        seekoff,
    u16        reclen,
    u16        namlen,
    DirentType type,
    char       name // static array if you take the addr at this field :)
}

external fn opendir(string path) @alias(DIR::open) -> DIR *;
external fn readdir(DIR *dir) @alias(DIR::read) -> Dirent *;
external fn closedir(DIR *dir) @alias(DIR::close);

fn collect_files(string path, string[] out) {
    dir := DIR::open(path) ?: $die();
    defer dir.close();

    while dirent := dir.read() {
        if [".", ".."].contains(&dirent.name) { continue; }
        out_path := "{}/{}".format(path, &dirent.name);

        if dirent.type == DirentType::Dir {
            collect_files(out_path, out);
        } else if dirent.type == DirentType::Reg {
            out.push(out_path);
        }
    }
}

fn generate_sources() {
    path := "src";
    $printf("Generating files at {}...", path.color("green").reset());
    collect_files(path, files := []string);
    io::write_to_file("docs/srcs.txt", files.join("\n"));
    $printf(
        "Generated {} files at {}!",
        "{}".format(files.len()).color("green").reset(),
        path.color("green").reset()
    );
}

fn compile_docs() {
    path := "docs/main.typ";
    $printf("Compiling typst at {}...", path.color("green").reset());
    libc::system("typst c {} --root ..".format(path));
    $printf("Compiled {}!", path.color("green").reset());
}

fn main() {
    generate_sources();
    compile_docs();
}
solid gazelle
#

@valid jetty Elle package manager

fleet cedar
#

Why is elle named elle?

#

Just because it's cute?

valid jetty
#

yeah basically

fleet cedar
#

Who is she?

valid jetty
deep mulch
#

@valid jetty what if i use ai to make it hd

valid jetty
fleet cedar
fleet cedar
#

I only posted that once

deep mulch
valid jetty
#

never

deep mulch
#

soonn

#

elle will be java compatible

#

fully supported interop

#

@valid jetty wyd

valid jetty
#

inheritance is horrible, polymorphism already exists in some form, encapsulation treats the developer like a baby (i dont trust that you can use my AdderFactorySolutionProviderFactoryStrategy correctly so im gonna spoonfeed you)

deep mulch
#

@valid jetty inheritance is perfection

#

use

valid jetty
#

the polymorphism

pseudo sierra
#

zoot master rage baiter

valid jetty
#

zoot im not mad just dissapointed

deep mulch
#

rosie so mad

ornate quiver
deep mulch
#

i need to make rosie rage

deep mulch
#

i feed minky butterflies @valid jetty

frosty obsidian
valid jetty
valid jetty
frosty obsidian
#

oh this is programming

deep mulch
#

wing moment

valid jetty
frosty obsidian
#

uhh pretend thats a java spring reference

deep mulch
#

rosie is stalking wing

frosty obsidian
deep mulch
#

@valid jetty remove all functions from elle

#

add only classes

valid jetty
#

it can basically be functional if i implement closures

frosty obsidian
#

make elle both functional and object oriented

valid jetty
#

@lyric latch love?

frosty obsidian
#

wrong

#

constructors only

fleet cedar
deep mulch
#

make ellescript

valid jetty
deep mulch
#

rewrite elle in C

fleet cedar
#

Rewrite c in elle

hoary sluice
#

@valid jetty rewrite elle in icypeas

valid jetty
#

see now that is a great idea

deep mulch
#

@valid jetty make elle 2

fleet cedar
#

Have you done Bad Apple in elle yet

valid jetty
#

no lol

#

can't be that hard can it

#

get an mp4 of bad apple in 960x540, ffmpeg it to a bin, read it in elle, display a raylib window and swap to a new frame in the bin every frame

#

then get a bad apple audio and make it also play in sync with the bin data

#

you can just read it in chunks of 960*540*#size(i32) and directly set that as the color array in the image to display via raylib

winged mantle
#

recreate the actual original stage

deep mulch
#

how is rosie so smart

valid jetty
#

i was basically right

solid gazelle
#

ELLE JVM

winged mantle
#

I removed something from a file and github copilot suggests the commit message as adding the thing comfy

ivory heath
#

Could actually do gray for bad apple

valid jetty
#

oh wrong reply

#

yep i did

#

it still runs at 30fps (the framerate of bad apple) but i made it 10% res in the code afterwards just so the bin isnt so big when i commit

#

even with 10% the bin is 42mb

#

i may just gitignore the bin and mp3 since the video produces those when you run the program

valid jetty
#

but yeah its not that hard

deep mulch
#

rosie the worlds smartest person

valid jetty
#

this is like not that complicated

deep mulch
#

wrong

valid jetty
#

the only downside of this approach is that there is a 1gb temp file during playback

shrewd canopy
#

horror

#

optimize when

valid jetty
#

optimize how

#

thats just how much raw data there is in 200 seconds of footage at 480x360 at 30fps at 1 byte per color

pseudo sierra
#

shrimply don't use raw data

valid jetty
#

raylib cant really load anything other than raw data it can but videos arent comprised of images per se

#

its not like i can output a bunch of pngs and render them in sequence

#

like i could do that but it wouldnt work very well

deep mulch
valid jetty
#

if anything i would just use libavcodec and at that point i just have a shitter mpv

deep mulch
#

@valid jetty

valid jetty
little bluff
#

meow

little bluff
little bluff
#

hooorayy-pi!!!! it works now-pi✊

fleet cedar
#

I hope you know this is cringe af

royal nymph
royal nymph
deep mulch
#

insanity

cinder egret
#

so cute-pi

deep mulch
#

@valid jetty explain what impedenance is

valid jetty
#

?????

pseudo sierra
#

I think zoot might just be stupid

deep mulch
#

rosie doesnt know

#

i am the smart one

#

@valid jetty explain reactance

#

explain how to read a smith chart

#

explain SWR

valid jetty
#

im not doing anything to do with electricity

deep mulch
#

explain dbm vs dbfs

#

@valid jetty explain how a yagi uda antenna works

#

explain how a dipole works

#

explain how an endfed halfwave works

#

explain everything NOW

valid jetty
#

in an electric field the positive side feels like an attractive force while the negative side feels like a repelling force

valid jetty
pseudo sierra
#

@deep mulch explain how to talk to a woman

deep mulch
#

nop

#

@blazing quartz knows

valid jetty
valid jetty
blazing quartz
valid jetty
#

zoot you forget im doing computer science not electronics

#

why the heck would i know any of this

deep mulch
#

cause youre a genius

valid jetty
#

its equivalent to asking a marine biologist on historical events from the 1200s

pseudo sierra
#

zootie a bit tupid but that's okay we love him anyway

deep mulch
#

@valid jetty calculate the wire length needed for a resonant 40m antenna

#

display: none;

pseudo sierra
#

display: zoot;

deep mulch
#

bwa

frosty obsidian
winged mantle
#

/run

#include <stdio.h>
#include <stdarg.h>

void putchars(int ch, ...) {
    va_list list;
    va_start(list, ch);

    if (ch == '\0')
        return;

    putchar(ch);

    for (;;) {
        ch = va_arg(list, int);

        if (ch == '\0')
            break;

        putchar(ch);
    }

    va_end(list);
}

int main() {
    putchars('H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '\n', '\0');
}
rugged berryBOT
#

Here is your c(10.2.0) output @winged mantle

Hello world
winged mantle
#

for some reason i wrote this instead of the normal hello world to test build setup

winged mantle
#

the only good way to develop a website: backend in C with mongoose and sqlite

#

wasm based frontend using sdl with clay

winged mantle
#

good

#

what if c compilers supported
#pragma using prefix_

#

and that removed the prefix on all symbols

winged mantle
#

*i meant to say sqlite, not mysql

#

don't husk

deep mulch
#

rehusked

little bluff
little bluff
little bluff
deep mulch
#

@valid jetty

crude star
little bluff
winged mantle
#

everyone loves sqlite

#

nobody likes mysql

pseudo sierra
#

true

dense sand
#

anyone here familiar with bun workspaces? no matter what i try i get this

#

hmm weird

#

still happening, the current setup is like this:

  • Root(dependencies: @repo/portalbush)
    • @repo/portalbush
    • @repo/portalfish (dependencies: @repo/portalbush)
#

i want portalfish to depend on portalbush

#

should be working right?

#

smh bun is not bunning

jade stone
dense sand
#

Bun stopped working so im rewriting the entire project

deep mulch
#

@jade stone

jade stone
#

I have somewhat mixed feelings on pnpm, but they're overall positive

deep mulch
#

stinky sadan

jade stone
#

(plus at least you can just edit and debug the code if something doesn't work)

nimble bone
#

i await bun discontinuation

#

await Bun.discontinue();

deep mulch
#

ai in stdlib

valid jetty
#

what do i make

  • never (!) type in the type system
  • static arrays in the type system
  • elle intrinsics to #env like PLATFORM, VERSION, TARGET, ARCH, accessible at runtime, optionally disableable at compile-time (--nointrinsics)
#

these are the features that would be most interesting to make i think

royal nymph
#

all three

valid jetty
#

well yeah but which one do i make right now

royal nymph
#

all three

valid jetty
#

i feel like never type would be quite easy to make maybe

royal nymph
#

never type > static arrays > the other option imo

lucid trail
valid jetty
royal nymph
#

never type should be easy and is very useful

valid jetty
#

yeah but so are static arrays in the type system

#

useful for any real work with C libraries

valid jetty
#

@royal nymph

lucid trail
#

my vote is for static arrays

valid jetty
deep mulch
#

oh rosie my Rosie

valid jetty
deep mulch
#

eh

valid jetty
#

you can make to build or make run to also run

#

and it comes built in with incremental building and stuff (well i guess if you make the raytracer recipe depend on all source files)

deep mulch
#

id only use make for like C and C++

valid jetty
#

its great

deep mulch
#

does Elle have external dependencies yet

valid jetty
#

nop

deep mulch
#

dependencies would be a dedicated build system task

royal nymph
#

see how typescript handles this and replicate

#

typescript never is pretty sane

valid jetty
#

like i want to call all deferrers before calling a function that returns never

deep mulch
#

add attributes to Elle @valid jetty

valid jetty
#

so yes, it has to be enforced that the never type actually means "this never returns"

deep mulch
#

add proc macros

#

add borrow checker

deep mulch
#

roinga

#

add Elle inline assembly

valid jetty
#

zoot is just spewing words

deep mulch
#

does qbe allow that

valid jetty
#

time for 50000 refactors

lucid trail
deep mulch
#

@valid jetty make compiler auto unbox

valid jetty
lucid trail
#

oh that was IR

valid jetty
#

i had inline IR at one point yes

#

well

#

its still here

lucid trail
#

just extern C for inline asm

deep mulch
#

elle will soon be ported to java

valid jetty
#

or.. not

royal nymph
#

feat: get rid of rosie

lucid trail
#

add vectorization

deep mulch
#

add avx512

#

sooo cool

valid jetty
#

i saw this in a 2 minute papers video

deep mulch
#

me too

#

roie probably jotts down notes watching technical videos

#

@valid jetty you write like 5 pages of notes

#

Jotting this down

valid jetty
#

@lucid trail should i allow contravariance for static array types?

lucid trail
#

what is contravariance

valid jetty
#

as in, should i32[41] count as a subtype of i32[40]

deep mulch
#

that's weird I think

valid jetty
#

or should the sizes need to match exactly for it to work

lucid trail
#

by subtype you mean it can be "promoted" to i32[40]?

valid jetty
#

yes

lucid trail
#

i feel like that could cause unintuitive behavior

deep mulch
#

for array sizes that seems kinda confusing

#

yea

valid jetty
#
fn foo(fn(i32[4]) cb) {
    cb(#[1, 2, 3, 4, 5]);
}
deep mulch
#

does Elle promote integer types @valid jetty

valid jetty
#

ok so just when theyre exactly equal, got it

lucid trail
valid jetty
#

also, should pointers be equal to static arrays as long as they have the same underlying type

valid jetty
#

oh wait

#

ignore that lol

valid jetty
#

if i have an i32* and i pass it where a i32[4] is expected should type checking pass

lucid trail
valid jetty
#

its not

lucid trail
#

it's gone yeah

valid jetty
#

youre just giving responsibility to the developer that their buffer at that pointer is big enough

lucid trail
#

maybe i'm thinking too much about safety

deep mulch
#

probably should require explicitly casting

valid jetty
#

i can do that

shrewd canopy
deep mulch
#

Elle doesn't support x86_64 so wouldn't lose much

#

right

#

@valid jetty

#

I can't remember

#

my mind is frayed

valid jetty
#

this is so cursed

valid jetty
deep mulch
#

I thought it didnt

valid jetty
#

x86_64 is 64 bit

deep mulch
#

I know that

valid jetty
deep mulch
#

x86_64 should be default

valid jetty
#

??? no its not just set to macos and aarch64

deep mulch
#

nvm the host architecture should be default

valid jetty
#

its based on the os youre running the compiler on

#

yes thats what happens

deep mulch
#

"Defaults to host architecture" would be a better message

sharp girder
deep mulch
#

maybe it was windows support I was thinking of

valid jetty
sharp girder
#

True

valid jetty
deep mulch
#

what's () => { in rust

valid jetty
#

thats just a macro body

deep mulch
#

@valid jetty @valid jetty

shrewd canopy
valid jetty
#

it does

#

zoot is just spreading misinformation

deep mulch
#

hush

#

I thought it didnt

#

hush now rooe

#

rooe

#

@valid jetty Elle needs reflection

#

make Elle faster

lucid trail
#

cs is so boring and tedious

#

so good

valid jetty
#

hmm well

#

@lucid trail this is an interesting predicament

#

the size of a buffer may be a runtime value

lucid trail
#

okay

valid jetty
#

so therefore the ergonomics of this kind of code arent nice

fn foo(i32[4] xs) {
    ...
}

fn main() {
    i32 xs[4]; // you cant type this as a static array because the size is a runtime value, so it must be a pointer
    foo(xs); // either you implicitly cast the pointer to the static array type, giving the bounds access responsiblity to the developer
    foo(#cast(i32[4], xs)); // or you have to cast, which is kinda not ergonomic to use and annoying
}
lucid trail
valid jetty
#

which one is better

lucid trail
#

why is the size a runtime value? like the 4 will be unknown at compile time?

#

foo(xs);

valid jetty
#

you can put any value there

#
use std/rand;

fn main() {
    i32 xs[rand::random(0, 100)];
}
#

thats why it cant be typed as a static array

lucid trail
#

oh, i was under the impression you couldnt do that like in C

valid jetty
#

you can very much do that in C

#

in C it also decays to a pointer afaik

lucid trail
deep mulch
#

NOT THAT SYNTAX

#

elle has fallen

valid jetty
#

?

deep mulch
#

array size with the name

valid jetty
#

that syntax has literally existed for over a year

deep mulch
#

should be with the type

valid jetty
#

well i guess you can also do that now

#

but for that case the size must be an integer literal

deep mulch
#

hm

valid jetty
#

im adding static arrays to the type system

#

which means this code will be valid

fn main() {
    i32[40] xs;
}
#

but the 40 cannot be a runtime value anymore

#

i guess i can remove the buffer syntax then? but its useful in some cases

#

if i remove that syntax then the only way to allocate a runtime-value-based static buffer is to allocate it on the heap and i would rather not lock the developer to do that if i can help it

lucid trail
valid jetty
#

should this be convertible implicitly

lucid trail
#

add .into() already

valid jetty
#

traits dont exist, that wouldnt work very well

#

ok well

lucid trail
valid jetty
valid jetty
#

string is just a unique char* type

lucid trail
#

its just converting the other way is unsafe

valid jetty
#

oh true actually i think i actually allow that case

#

ok well

#

this is so cursed

lucid trail
#

?? is this for casting

winged mantle
#

it just doesn't scale very well when you have an array of function pointers

#

the declaration reflects the usage

int ints[5];
int i = ints[0];
fleet cedar
#

So you say, but yet ints[5] is ub

valid jetty
winged mantle
valid jetty
#

the behavior of #cast is just a big long function at compile time that defines what can cast to what

winged mantle
#

i don't think this has ever been a problem, the real issue is that it gets confusing when it's more complex

valid jetty
#

but it works

winged mantle
#

als o in c++ it's just a mess

deep mulch
#

as when

winged mantle
#

though it's already is strange with stuff like void

#
void *myPtr;
void v = *myPtr;
valid jetty
#

it won't let you deref that

winged mantle
#

that's the point

valid jetty
#

why is that strange

winged mantle
deep mulch
#

roinga

fleet cedar
#

Declaration matches usage is and has always been nonsense

winged mantle
#

that doesn't stop it from being sort of logical some of the time

fleet cedar
#

int * a declares a variable a of type int*, not a variable *a of type int

valid jetty
#

like you can't load a buffer of (*β‰§βˆ€β‰¦*) sized stack memory

fleet cedar
valid jetty
#

well it very much is a type, it's the unit type

fleet cedar
#

Not in c++

valid jetty
#

hm

deep mulch
#

I prefer the pointer as *type name = value

winged mantle
#

AWFUL

valid jetty
#

much easier to parse in fact

winged mantle
#

it's still ambigious

#

what if it's unary mutliplication

valid jetty
#

postfix pointers are a nightmare to parse

#

what the fuck is a unary multiplication

fleet cedar
#

Type after is objectively superior in a world with type inference

winged mantle
#

multiplication equivilent of virgin birth

#

ok nah i made that up

fleet cedar
valid jetty
#

lol true

#

ok well i think i'm done implementing the static arrays

#

i just need to test all cases

#

there are a lot of edge cases where this could go wrong

deep mulch
#

@valid jetty you love C++ callback type syntax

winged mantle
#

what even is that

deep mulch
#

typedef void (*cb)(int);

winged mantle
#

that's function pointer

#

πŸ™„

#

is that what you kotlin devs call it

fleet cedar
#

I prefer typedef void cb(int); and then using cb*

valid jetty
deep mulch
valid jetty
#

and anyway this is the C syntax

deep mulch
#

guh does it really matter I was just pointing out the syntax

#

yea

valid jetty
#

c++ has int(int, int)

#

iirc

#

and std::Function<int, int, int> for closures

#

something like that i'm not a c++ dev

deep mulch
#

roieee😭

winged mantle
fleet cedar
deep mulch
#

yop

valid jetty
#

close enough

#

oh i'm thinking of the c# syntax lmao

deep mulch
#

@valid jetty rewrite Elle in C#

valid jetty
#

i guess this is what happens when you use 500 languages

fleet cedar
#

int(int, int) is kinda like rust's [T] in that you can't have values of it directly, only behind pointers

valid jetty
#

oh hm

#

idk in elle you can only have function pointers

#

fn(i32, i32) -> i32

#

dyn dispatch is a myth

deep mulch
#

@valid jetty can you make alias to a function pointer in elle

valid jetty
#

no not really

deep mulch
#

do

dense sand
#

@lyric latch any idea what could be a good way of getting an npm dep in docker from private registry

valid jetty
jade stone
#

i swear to god i am going to lobotomize typescript-eslint

valid jetty
maiden iris
valid jetty
#

@lucid trail should this be allowed

lucid trail
valid jetty
#

hmm ok

valid jetty
#

seems like its working

lucid trail
#

that would be cool

valid jetty
#
fn __arr__::join<T, A, B>(T[A] self, T[B] other) -> T[A + B] {
    T[A + B] res;
    
    for i in 0..A + B {
        if i < A {
            res[i] = self[i];
        } else {
            res[i] = other[i - A];
        }
    }

    return res;
}
``` something like that
#

this has a lottttt of holes however

#

this is probably about 10 refactors away from being real syntax

lucid trail
#

T[A][B].transpose() -> T[B][A]

nimble bone
valid jetty
#

hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

#

i have.. an idea

#

however whether it works uhhh..

lucid trail
#

interesting

runic sundial
#

okok

#

images

#

html

#

css

#

do you like

#

always nest them in divs?

jade stone
jade stone
# runic sundial teach

React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizations.

runic sundial
#

but what if im not javascript

jade stone
#

Idk

valid jetty
#

@lucid trail

lucid trail
valid jetty
#

i made the size an internal type that just holds a number and then monomorphized it like any other type

#

this type is not representable with code but it can be monomorphized

deep mulch
#

@valid jetty hii

#

roie

vapid prairie
#
if want_to_make_good_code then
  make_good_code()
end
valid jetty
deep mulch
#

roie

lucid trail
#

could you do T[A][B]...[F].rank() => 6 (has no reason to exist but would be cool)

#

although I would assume no variadic generics yet

#

that would simply be insane

valid jetty
#

if there were conditionals based on type conditions, that wouldnt be too hard

#

also i feel like this is the wrong way round?

#

well no actually

#

you access it correctly by a[row][col] but the type is defined as T[cols][rows]

lucid trail
# valid jetty

could you do specific values like restricting .cross_product() to 3 and 7

lucid trail
valid jetty
valid jetty
lucid trail
lucid trail
valid jetty
#

well i think most languages would type it as T[4][2] (row major) which is a problem because i type it as column major

lucid trail
#

hm

valid jetty
#

im about to make it row major

lucid trail
#

does T[A][i] ensure i<A, array indexing

valid jetty
#

why would it need to

lucid trail
#

kind of like a tuple

valid jetty
#

ok there we go

#

row major

lucid trail
valid jetty
#

true!

valid jetty
#
fn __arr__::mul<T, A, B, C>(T[A][B] a, T[B][C] b) {
    T[A][C] res;

    for i in 0..a.len() {
        for j in 0..b[0].len() {
            sum := 0;

            for k in 0..a[0].len() {
                sum += a[i][k] * b[k][j];
            }

            res[i][j] = sum;
        }
    }

    return res;
}
lucid trail
#

that’s sick

deep mulch
#

smh crab couldve been Rust

deep mulch
#

oh okay

frosty obsidian
#

got tile revealing working

deep mulch
hoary sluice
#

@valid jetty im doing aoc in rust this year

hoary sluice
valid jetty
#

i may try it in elle

#

but i won't be competing for the fastest time i'll just do it whenever i get to it

#

i need my beauty sleep i can't sleep for 3h a night every night and wake up at 4:45am the whole december again

#

or well until the 12th

fleet cedar
#

I'll probably go with golf python again

hoary sluice
#

so it unlocks at 10 am πŸ˜„

hoary sluice
nimble bone
#

im doing AOC in JS this year

hoary sluice
#

does this mean i wont have anyone to compete with

nimble bone
#

TypeScript

#

or i'll redo the one lang a day thing

#

i think Satan did it in ts types

#

so insane

hoary sluice
#

@valid jetty should i test raytracer

#

on 9070xt

shrewd canopy
hoary sluice
#

ur elle raytracer

#

or is it on the cpu

valid jetty
deep mulch
#

so I have a chance

crude star
#

I will do aoc in uiua

#

while also teaching a friend how to code

valid jetty
#

at school i have lessons and people to be with, so i'll just do it when i get home

royal nymph
#

css syntax is crazy @crude star

crude star
#

of???

#

when did they add that

royal nymph