#🪅-progaming

1 messages · Page 67 of 1

royal nymph
#

love?

nimble bone
#

gooood

#

soon being when pr is merged

#

tbh you should merge it looks sane enough

valid jetty
#

thank you youtube

deep mulch
#

null

ornate quiver
#

YOP

dawn ledge
#

@valid jetty 😭

#

aturating addition is a +| b

#

this is so cursed

fleet cedar
#

But why

#

What manner of cursed language is this

dawn ledge
#

zig

spark tiger
dawn ledge
#

hate writing grammar

spark tiger
dawn ledge
#

idk quite beautiful to me

valid jetty
lavish frigate
dawn ledge
dawn ledge
#

is it fine if i deviate from ebnf a bit

fleet cedar
#

Nope illegal you have to stick to it 100%

dawn ledge
#

i dont wanna add TOKEN_whitespace everywhere so im like mentally making "if there's a comma between two rules a whitespace is allowed", cause wikipedia says , is used for concatenation

fleet cedar
#

Why do you have whitespace as a token

dawn ledge
#

because yes

#

the language is whitespace insignificant tho

fleet cedar
#

Usually you filter out whitespace at the lexer

valid jetty
#

^^

#

your rules should look like

#
"fn" <identifier> "(" [ <argument_list> ] ")" [ <block> ]
dawn ledge
#

thats what they look like

valid jetty
#

good

leaden crater
#

@valid jetty

valid jetty
#

hiii

leaden crater
valid jetty
leaden crater
#

@valid jetty reccomandations when

dawn ledge
#

hop on anilist

#

or better mangaupdates

leaden crater
dawn ledge
#

now add jit

dense sand
jade stone
#

how the hell is this function taking up so much time

#

the function in question

pearl stagBOT
# jade stone https://github.com/sadan4/VencordCompanion/blob/dev/src/ast/lineUtil.ts#L34-L56

lineUtil.ts: Lines 34-56

export function getNumberAndColumnFromPos(text: string, pos: number) {
    const lineInfos = createLineNumberAndColumns(text);
    if (pos < 0) {
        return { lineNumber: 1, column: 1 };
    }

    const index = binarySearch(lineInfos, info => {
        if (pos < info.pos) {
            return -1;
        }
        if (pos >= info.pos && pos < info.pos + info.length + 1) { // `+ 1` is for newline char
            return 0;
        }
        return 1;
    });
    const lineInfo = index >= 0 ? lineInfos[index] : lineInfos[lineInfos.length - 1];

    if (lineInfo == null) {
        return { lineNumber: 1, column: 1 };
    }

    return { lineNumber: lineInfo.number, column: Math.min(pos - lineInfo.pos + 1, lineInfo.length + 1) };
}
dawn ledge
#

what tool are you using to get timings

jade stone
full vapor
#

🪅

#

pinata

#

that's actually a crazy default emoji find

dense sand
#

please work ahh moment

formal belfry
#

hopes and prayers

placid cape
#

🪅 lol

#

didn't know that this even exists

valid jetty
#

it’s the emoji for this channel

spark tiger
#

can't find it because of that

winged mantle
#

why doesn't it ignore diacritics

full vapor
#

i had to inspect element it to copy it to find out what it was

hoary sluice
#

::=

dense sand
#

Penis operator

hoary sluice
#

with cancer

valid jetty
#

:= is the best pascal and go feature

fleet cedar
#

What about python

valid jetty
#

python stole it probably

#

i dont see why it even needs to exist, why couldnt they just make x = y an expression instead of making a seperate expression for assignment

#

it wouldnt break backwards compatibiity because before you couldnt put assignments in expressions and now you can

#

idk

hoary sluice
valid jetty
#

::= is just alien penis operator

royal nymph
hoary sluice
#

im going to call this the penis operator in the icypeas docs

royal nymph
#

opperator*

royal nymph
#

somehow no one found this issue before it got locked except me and sepruker

#

and thomas my g

valid jetty
#

it only got locked because of noone talking in it lol

royal nymph
#

i wasnt paying attention to the year and assumed loremly got it locked

valid jetty
#

yeah i think it gets locked after exactly a year of inactivity

hoary sluice
#

Type Inference

Explicit Type Annotations

Types can be explicitly declared using : <type> syntax:

let
  x : u32 = 0
in
...

The penis operator

The compiler can automatically infer types using the penis operator :=

let
  x := 0  -- Inferred as u32
in
...

Function Declaration Simplification

The penis operator allows omitting explicit function type signatures:

Original (explicit types):

x : int int
x a = a * a

With type inference:

x a := a * a  -- Inferred as (int int)
#

im putting this in my docs

dawn ledge
hoary sluice
#

oh thats normal bnf

#

close enough

#

youre not compiling it so you dont have to follow the syntax

strong gale
#

It uses u32 by default

hoary sluice
#

do x = 0?

strong gale
hoary sluice
#

i could but i want to separate declaration from assignment

#

foo : type = value is the syntax for declaration and you can omit the type
foo = value is the syntax for assignment

#

foo : type = value is close enough to

foo : type type
foo = value
valid jetty
#

how about i make assignment be the wumpus operator :=: instead

#

how about that

hoary sluice
#

@valid jetty i got a B in math

#

i win

#

i won in file

#

life

#

i just an A on hardware development finals for a perfect gpa

hoary sluice
#

the main stuff still works but its almost unusable in this state

valid jetty
#

wait i thought the voice assistant thing was done

hoary sluice
# valid jetty wait i thought the voice assistant thing was done

the backend was the diploma thesis which is done (its really not but nobody is actually gonna try it and notice the flaws, and from the outside it looks complete and it does work) but we have a parallel running project which we were supposed to do on wednesdays in school, but i didnt, so im doing it right before the deadline

#

well really this is also complete but its terrible and i dont have much else to do so id rather secure the A

hoary sluice
valid jetty
#

ehhh who cares about grades

#

im gonna fail physics and further maths and i dont really care anymore lol

lucid trail
#

are you in form 6

valid jetty
#

you mean sixth form???

lucid trail
#

yes

valid jetty
#

ya i’m in y12

#

well

#

in uk standards at least

#

idk if it’s the same in other countries

lucid trail
#

does uk have yr 13

valid jetty
#

yea

#

y12 is 16/17, y13 is 17/18

#

i’m still 16 soo

#

🎀

lucid trail
#

i’m gonna be in uni at 16 :3

valid jetty
#

i wish

#

i wanna get out of this stupid sixth form so i can just study textiles or computer science full time

lucid trail
#

reading this chat has really made me want to write a compiler over the summer

valid jetty
#

instead i’m stuck learning about the photoelectric effect and beta decay

valid jetty
#

not only is it a fun exercise but you really learn how a programming language works intuitively

#

i totally recommend

#

i compiled a list a while ago in a computerphile video of the things you learn

#

since then i have more to add but whatever

lucid trail
valid jetty
#

uhhh this list

valid jetty
#

of this exercise

lucid trail
#

i see

#

I’m thinking of writing something with cranelift and gpu block with part of the ast being emitted as metal

valid jetty
#

interesting cranelift looks like somewhere in between llvm and qbe

dawn ledge
#

written in rust btw :^)

#

cranelift is like llvm minus the bajillion host targets

#

and some optimizations

valid jetty
#

yeah lol

dawn ledge
#

i was looking into llvm the other day

#

they have an amdgpu target

#

no examples whatsoever on how to run it

valid jetty
#

i wonder if it enforces ssa form or if it just lets you write whatever and corrects it for you or not

#

(it = cranelift)

#

qbe lets you write incorrect ssa form and it just fixes it for you, llvm doesn’t do that

dawn ledge
#

llvm like assumes the knowledge is supposed to spawn in your head

valid jetty
#

First and foremost, phi instructions are NOT necessary when writing a frontend to QBE. One solution to avoid having to deal with SSA form is to use stack allocated variables for all source program variables and perform assignments and lookups using Memory operations. This is what LLVM users typically do.

Another solution is to simply emit code that is not in SSA form! Contrary to LLVM, QBE is able to fixup programs not in SSA form without requiring the boilerplate of loading and storing in memory. For example, the following program will be correctly compiled by QBE.

#

❤️

dawn ledge
#

this is part of what i dislike in big project
contributors are sparse and only a few know the code structure/api
you either spend hours going through the code for a simple problem or you give up

#

docs are like non existent

lucid trail
valid jetty
dawn ledge
lucid trail
#

yes f(ir) -> asm

dawn ledge
#

true

valid jetty
#

qbe is veeee😭ry good for beginners imo

#

you don’t even need to put function definitions in the ir it’ll just allow calling any function and figure it out at link time

dawn ledge
#

currently writing macros

valid jetty
#

is that

#

syntax in the language for macros

dawn ledge
#

thats rust

valid jetty
#

or a macro to make a term in rust

#

okok i was gonna say

dawn ledge
#

test code for the parser generator

valid jetty
#

oh are you not gonna roll up your own parser

dawn ledge
#

im planning like
parser def -> glalr(1) parser generator -> parse/lex tables

and the actual compiler will just embed the tables and use a generic function that reads input and lexes+parses based on the table

#

i would handroll something like a recursive descent parser but i've always wanted to write a glalr(1) parser generator

valid jetty
#

interesting

#

sounds cool if you can pull it off

#

tell me all about it when you do

dawn ledge
#

sure

nimble bone
valid jetty
#

@hoary sluice is this a joke https://www.youtube.com/watch?v=Ebyesd3mPAA

Most people will never crack a Google interview, but in this video you'll see exactly how an ex-Google, Amazon, and Uber engineer does it. Watch him break down a real Google coding question in real-time, revealing the mindset, strategy, and problem-solving skills that separate the top 1% from the rest.

🏆 INTERN SUCCESS ACADEMY
The COMPLETE ...

▶ Play video
#

there is no way its this easy right

#

why is he taking so long to answer it

#

|| ```py
from collections import defaultdict
from bisect import bisect_right

def solve(s, ws):
ci = defaultdict(list)
for i, c in enumerate(s):
ci[c].append(i)

def subs(w):
    pi = -1
    for c in w:
        if c not in ci:
            return False
        il = ci[c]
        p = bisect_right(il, pi)
        if p == len(il):
            return False
        pi = il[p]
    return True

return sum(subs(w) for w in ws)

s1 = "abcde"
ws1 = ["a", "bb", "acd", "ace"]
print(solve(s1, ws1))

s2 = "dsahjpjauf"
ws2 = ["ahjpjau", "ja", "ahbwzgqnuk", "tnmlanowax"]
print(solve(s2, ws2))

#

maybe i could get a job at google 🙏

worldly sigil
#

Slopsquatting is a type of cybersquatting and practice of registering a non-existent software package name that a large language model (LLM) may hallucinate in its output, whereby someone unknowingly may copy-paste and install the software package without realizing it is fake. Attempting to install a non-existent package should result in an erro...

#

such a funny name

hoary sluice
hoary sluice
valid jetty
#

"secretly compile to haskell" in an OSS project is insane but you go girl

#

that would make icypeas a transpiler tho,,

#

also why are you awake at 6am..

hoary sluice
valid jetty
#

that implies you either didnt sleep or just woke up (in which case are you EMPLOYED??????????????)

hoary sluice
#

i slept like 8 hours

valid jetty
#

oh

hoary sluice
valid jetty
#

noone could ever force me to wake up at 6am if i didnt have school to go to

hoary sluice
#

you have no right to complain about peoples sleep schedule

valid jetty
#

:3

hoary sluice
#

you literally never sleep

valid jetty
#

yeah but im unemployed..

#

did you read the google interview problem

hoary sluice
#

i have to infer it from the solution cause a cba watching the video

#

why are all googlers indians

valid jetty
#

given a string s (can be empty) an an array of words, find the number of words which are substrings of s

#

so for "abcde" given ["a", "bb", "acd", "ace"], there are 3

#

index 0, index, 2, index 3

hoary sluice
#

oh thats like the most popular leetcode problem

valid jetty
#

lmao

#

idk why it took this guy so long to answer

#

and why hes typing like excessively long variable names and making several functions

hoary sluice
#

array.count { it in string }

valid jetty
#

wtf is he WRITING

hoary sluice
#

if you tell me this is slow i will report you to hr for mental abuse

valid jetty
hoary sluice
#

oh

hoary sluice
valid jetty
#

yeah

#

it can be missing out parts

#

the approach to make a hashmap out of indexes is smart so what im wondering is how he figured that out but took almost the full time allocated to solve the problem

#

i first discovered that method of speedup entirely on my own in an entirely different environment back in march 2024 lol

#

its probably really common tho

hoary sluice
#

or at least tried

valid jetty
#

i was proud of coming up with that completely on my own

#

reading it again now, im pretty sure the time complexity is off but whatever

jade stone
#

i give up

there's some electron bug that crashes before this breakpoint can be hit

#

i have no fucking idea how to find the cause

hoary sluice
# valid jetty lmao

so instead of doing an n^2 search u do a m*n mapping where m is much smaller

#

did i get the time complexity right

valid jetty
#

its not n^2

#

its n*k, n is the length of the modules array of objects with keys, k is the number of keys you wanna search for in each object

hoary sluice
valid jetty
#

not quite

#

if the list holds a bunch of objects with like various keys, and you search for keys foo and bar, you will loop through every item in the list, and then loop through every key to see if foo and bar are in the object

#

youre never looping through the objects twice

#

(or rather, loop through foo and bar to see if theyre in the object, looping through every key is a bad idea)

#

so like

[
    {
        foo: 1,
    }
    {
        foo: 2,
        bar: "x"
    }
]
``` n is 2, and if were searching for just "foo" then k is 1, which means we loop through every module and then loop through every one of the keys were searching for until we find an object that has all of them
#

if you search for "foo" and "bar" then k is 2, so you loop 2 times each item in the list * 2 times for each key were searching for in the objects

#

i hope that makes sense idk

hoary sluice
# valid jetty <@415132870252822539> read #80-#233 lmao

this is a really cool algo, i was thinking more of saving actual indices of an array in a hashmap (1:1 mapping, not keys in an object) so you could do map[value] = index and then reverse search it but this doesnt work if you add or remove items in the array and i dont think there has been an actual aoc problem where ive used this

valid jetty
#

but specifically for objects it allows finding an object in O(k) time because you just find all the indices of every object and then see which ones exist in all 3 keys's sets

hoary sluice
valid jetty
#

for the hashmap you do m*n once then just O(k) every search

hoary sluice
#

oh you save the map?

valid jetty
#

yeah

hoary sluice
#

alr

valid jetty
# valid jetty lmao

and the speed clearly shows it (although i think JS jit is helping a lot here)

hoary sluice
valid jetty
#

even in jitless hermes its faster

hoary sluice
#

or copied the solution

hoary sluice
valid jetty
#

i think for how long it took him its legit yeah

#

if it was vibe coded hed be right on and ready to start coding it

hoary sluice
#

computeIfValide 🥖 🇫🇷 🥐 💣 💥

valid jetty
#

especially with that fuck leetcode thing

hoary sluice
valid jetty
valid jetty
#

idk im not a recruiter but he seems to be taking his sweet time to solve a 5 min problem

hoary sluice
#

also how and why are you awake at 6:40 if you were also awake at 2

valid jetty
#

your time is an hour ahead

#

its 5:40 for me

#

and im about to go to sleep its fineee

hoary sluice
valid jetty
#

(i have exams starting like a week into may its so over)

hoary sluice
valid jetty
#

lol what

hoary sluice
#

its 6:49 everywhere

valid jetty
#

whattt

hoary sluice
#

yep

valid jetty
#

no way,,,,

hoary sluice
#

@deep mulch can vouch (it will be 6:49 when he sees this)

valid jetty
#

the new UK supreme court ruling states it is now always 6:49am forever at all times

#

no more fun

hoary sluice
#

nono the new uk supreme court ruling states there are no timezones and everyone follows whatever i say

#

currently we follow central european standard time

valid jetty
#

ah of course

hoary sluice
#

anyways being awake at 5:50 isnt any better

valid jetty
#

its so over anyway lol

#

i dont think it matters anymore

hoary sluice
#

ive stayed up past 4 once in my life idk how u do it

valid jetty
#

lmaoooo

#

pure skill (and insomnia)

hoary sluice
#

when youre 20 people will give up their seat for you thinking youre elderly

#

will you fix your sleep when you get a job

valid jetty
#

i dont think thats gonna happen lol

hoary sluice
valid jetty
#

uhhhhhhh

valid jetty
hoary sluice
#

working at arm sounds like either maintaining legacy asm or doing linux arm support

valid jetty
#

theres a lot you can do apparently

#

theyre a really broad company

valid jetty
#

big number 4 years away

hoary sluice
hoary sluice
deep mulch
hoary sluice
#

i meant 6:59

hoary sluice
deep mulch
#

18 is big number

#

legally an adult

hoary sluice
#

she said 20

deep mulch
#

nop

hoary sluice
#

ok

deep mulch
#

I don't think Rosie will survive on 1 second of sleep

valid jetty
#

zoot cant count past 3

deep mulch
#

@valid jetty

valid jetty
#

or if zoot is a mathematical function person he cant count past 2

#

1, many....

formal belfry
#

huh

hoary sluice
#

zootie whats 9+10? (hint: its not 19...)

deep mulch
valid jetty
hoary sluice
formal belfry
deep mulch
#

@valid jetty

valid jetty
#

like what formally defines a "function"

#

in maths

hoary sluice
#

no

hoary sluice
valid jetty
#

like how f(x) = x^2 has no inverse because its a many (inputs) to one (output) because -2 and 2 both give the same output of 4

#

and the inverse is a one to many mapping which is not a function

#

that thing

deep mulch
#

the sands of time drag you down @rosie.pie

hoary sluice
#

ik what the inverse of a function is but what does that have to do with 1, many

deep mulch
#

Rosie (11) will go to sleep

hoary sluice
deep mulch
#

yes

hoary sluice
#

oh i forgot you cant count

valid jetty
hoary sluice
#

oh

valid jetty
#

you never have specifically 2 its always 1 or many

#

now its not funny anymore..

hoary sluice
#

it was never funny cause ur the only one who got it...

deep mulch
#

@valid jetty @valid jetty hiii

valid jetty
#

study more math..

hoary sluice
#

ik function mappings but not what 1, many means

#

(math is taught in german)

#

(we never actually discussed this i dont think)

valid jetty
#

horror

#

so you discussed how x^2 + y^2 = r^2 is not actually a function because if you write it in the form y =, you get a one to many function, just never used the terminology "one to many" and "many to one"?

hoary sluice
#

no we learned what an inverse is and why some functions dont have one (many inputs per output)

hoary sluice
formal belfry
#

@valid jetty

hoary sluice
#

rosie go to sleep

formal belfry
#

@valid jetty don’t sleep btw

frosty obsidian
#

go to sleep

valid jetty
dense sand
#

The clans returned?????

#

@valid jetty why are you in jb

valid jetty
#

i have been for like ages

deep mulch
#

@valid jetty go to sleep

dense sand
formal belfry
#

@valid jetty what happened on 16/07/24

valid jetty
#

secret

formal belfry
#

It was Guinea pig appreciation day

#

Did you appreciate a Guinea pig or something

#

It was also national cherry day

deep mulch
#

Rosie would rather die than sleep

formal belfry
#

Additionally it was world snake day

#

What was so coveted about this day of yours @valid jetty

valid jetty
#

its special to me specifically

#

nothing happened in society

formal belfry
#

y

deep mulch
placid cape
#

And function is injective when \forall x_1, x_2 \in D_f: (x_1 \neq x_2 \implies f(x_1) \neq f(x_2))

#

And when it's injective then it has inverse

#

And each strictly monotonic function is injective that means it has inverse

dense sand
#

what a benchmark

#

any tips on how should i measure memory usage?

pulsar elk
#

i hate opcodes i hate opcodes i hate opcodes

ornate quiver
valid jetty
#

you will NEVER know unless you break into my house, kidnap me, tempt me with cats or mizuki plushies, then i might confess (100% chance)

ornate quiver
#

what if I am already in your walls

valid jetty
#

are you planning to kidnap me

ornate quiver
#

idk maybe

valid jetty
#

smh

fleet cedar
#

Did you know? In most jurisdictions you can't legally kidnap someone without their consent

spark tiger
#

this can’t be

formal belfry
dawn ledge
#

too much elle :^)

#

idk look at the audit log or something

#

automod beef

spark tiger
#

fortniteitemshop

formal belfry
#

oh i didn't knonw i had access to that lmao

hoary sluice
#

its so ugly

formal belfry
#

default bash prompt ig

hoary sluice
#

kinda hypocritical of me to say that because rn im using the default zsh prompt

dense sand
#

what should i use?

#

well atleast absolute paths in my prompt would be good

hoary sluice
#

user@hostname pwd >

with colors

#

or use zsh and smth like starship or powerlevel10k

spark tiger
# formal belfry mine

i tried to customize mine on windows but it always looked like shit 😭 how do yalls look so good

fluid temple
#

most debian and debian-based have quite a nice bash prompt

fluid temple
royal nymph
#

i remember writing a prompt for pwsh (it sucked)

#

well writing it did

#

the prompt was alright

spark tiger
royal nymph
#

ohmyposh makes pwsh even slower than it alr is

#

i never tried starship

spark tiger
#

though the first one was so slow for some reason

spark tiger
fluid temple
#

me when i username@hostname:pwd$

formal belfry
fluid temple
royal nymph
# royal nymph i remember writing a prompt for pwsh (it sucked)
function prompt {
    Write-Host -ForegroundColor DarkRed -NoNewLine "["
    Write-Host -ForegroundColor Yellow -NoNewLine "$env:USERNAME "
    Write-Host -ForegroundColor DarkMagenta -NoNewLine "$(Get-Location)"

    $branch = git branch --show-current
    if ($?) {
        Write-Host -ForegroundColor DarkGray -NoNewLine " $([char]0xe725) $branch"
        if (git status --porcelain) {
            Write-Host -ForegroundColor DarkGray -NoNewLine "*"
        }
    }
    
    Write-Host -ForegroundColor DarkRed -NoNewLine "]$"
    
    return " "
}
spark tiger
#

i believe it’s mostly slow because of stuff like lang version git branch and other stuff

spark tiger
#

is it alias

royal nymph
#

i had that installed

spark tiger
#

oh latter seems so good

#

mostly because i use cmd and there are no aliases lol

fluid temple
#

touch makes so much more sense when you look at what it was actually made to do

#

it's made to update timestamps it looks like

spark tiger
#

huhhh

fluid temple
#

so it touches the file to make it update modification dates to current without actually modifying it

spark tiger
#

oh

#

interesting

fluid temple
#

hence touch

#
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
#

my goddd initramfs builds take so long

formal belfry
#

average polish programmer on twitter

supple whale
formal belfry
supple whale
#

its not difficult to make a performant electron app

#

in the same way that its not difficult to make ur electron app inhale resources

formal belfry
#

☠️ 😂

supple whale
#

its an issue with modern web development, than electron

#

because browsers will simply suspend the resource inhaling tab to reclaim resources

#

electron cant do that

#

people simply use electron when its not needed

#

but in places where it is needed, there's little that can outperform a WELL WRITTEN electron app

#

even shit as straight forward as video players

#

not to be confused with simple ofc

dawn ledge
formal belfry
#

no colors tho

royal nymph
#

electron isn't inherently bad

formal belfry
#

wheres the syntax highlighting 😔

formal belfry
supple whale
#

breuuugh

#

gotta love when people shit on something because "its hip to shit on something"

royal nymph
#

electron is made bad by the slop sites companies throw at it

#

shocker: the same bloated nextjs crap that runs like shit in your browser also runs like shit as an electron app

supple whale
#

except the browser will handle it better, because it will suspend it or dispose of it the moment u tab out

#

electron persists

#

:^)

#

to whoever made yml

#

PERISH

fluid temple
#

electron is okay but my poor ram

spark tiger
#

react native

fluid temple
#

and storage

#

yes please i would like 15 copies of CEF on my SSD

supple whale
supple whale
#

its just full chromium

fluid temple
#

oh right

supple whale
#

a lot of electron apps simply dont need to be electron apps

#

EKHEM DISCORD EKHEM

royal nymph
#

tbh storage size became irrelevant

supple whale
royal nymph
#

everyone should have plenty of storage nowadays

supple whale
#

especially in windows

#

where windows pages the chromium assets in the background, doesnt report it, and in actuality each electron app uses an extra gig of ram which is in the mapped files

#

because yeah, its not the app using the ram, its windows to cache the app

spark tiger
fluid temple
supple whale
spark tiger
#

it sounds really hard to maintain a non-web app like that to me

supple whale
#

its really not

#

pwacord > all

fluid temple
#

if not for electron discord probably wouldn't have a native linux version

#

and pwas are just electron with a different runtime and less native integrations

supple whale
#

i've never seen someone so wrong in my life

fluid temple
#

same shit

#

you look at a webpage

supple whale
#

really really not

fluid temple
#

a webpage gets its own window

supple whale
#

yes, but you dont spawn an extra 40 processes to do that

#

it re-uses existing processes

fluid temple
#

it's chromium there's a billion processes per tab

supple whale
#

1

#

1 process per tab

fluid temple
#

plus i then have to deal with the ugly as hell titlebar chromium uses for pwas

fluid temple
#

that's assuming i even use chromium, which i don't, and firefox doesn't have pwas

fluid temple
royal nymph
#

it's pretty normal for apps to be around that size

fluid temple
#

that's true

supple whale
fluid temple
#

but some electron apps would take way less if done native and done well

supple whale
#

non-issue on linux doe

fluid temple
#

yes and no

#

it's a browser

royal nymph
#

by native they obv mean compiled app code

unkempt shuttle
#

electron is stupid native

supple whale
#

bruh

#

ven hold me back

#

cuz i'll strangle a man

formal belfry
#

who

unkempt shuttle
supple whale
#

rwrv

#

just because you dont compile electron's code

#

doesnt mean noone does

unkempt shuttle
#

you are clearly the joker

supple whale
#

you likely mean that electron runs js which is ran in a VM as its interpreted

#

which automagically disqualifies half of all apps ever made

unkempt shuttle
#

actually i don't think JVM or CLR apps are real native either

#

because i'm cool

fluid temple
#

browser engines look and run the same everywhere in a way that cannot be called native to any specific platform

supple whale
#

and if you're trying to run native code IN THE INSECURE UI, then you've got other issues sir

#

cuz electron's renderers are not even half of the framework

#

and you can very easily compile all the js to v8 bytecode and load the bytecode instead of the js

#

idk why all electron apps dont do that tbf

formal belfry
royal nymph
lavish frigate
#

sir

supple whale
# fluid temple "sir"?

yes its slang, derogatory use of sir used when some1 chats shit like they know shit, but they in fact dont know shit

lavish frigate
supple whale
#

thank you for coming to my ted talk

royal nymph
#

you did not just say "sir (derogatory)" lmaooooo

lavish frigate
#

sir (derogatory)

royal nymph
lavish frigate
royal nymph
#

sir (derogatory) refers to anyone and everyone

#

including nonbinaries and wxmen

lavish frigate
#

sir (derogatory) refers to YOU now

#

wxmen

royal nymph
#

I meant womxn

lavish frigate
#

THANKS YOUTUBE

#

undefined

unkempt shuttle
#

slir

lavish frigate
lavish frigate
#

insane

unkempt shuttle
formal belfry
#

why does rwrv sound like a file permission

unkempt shuttle
#

it is one

lavish frigate
#

why is the script tag touching kids 💔

unkempt shuttle
#

because that's not what that means in that context

formal belfry
lavish frigate
unkempt shuttle
#

it's short for number once, actually

lavish frigate
#

are you sure

#

i dont think so

supple whale
#

im still waiting for some mfer to set their pronouns to null / undefined

formal belfry
#

i identify as /dev/null

unkempt shuttle
unkempt shuttle
lavish frigate
unkempt shuttle
#

my pronouns are she/her

royal nymph
#

my pronounce are dev/null

fluid temple
unkempt shuttle
lavish frigate
formal belfry
fluid temple
#

wait

#

what

#

oh wait

#

it's just a file

formal belfry
#

e

unkempt shuttle
lavish frigate
#

im ending it all

unkempt shuttle
#

forward ing

lavish frigate
#

forwading

unkempt shuttle
#

im wading im wading

formal belfry
#

for waddling

lavish frigate
#

apparently the super mario odyssey source code has an insane number grammar errors

royal nymph
lavish frigate
#

get forwarded idiot

#

im STILL trying to find out what is causing the message bar clearing ive fixed every single other bug on this stupid plugin 💔

pulsar elk
formal belfry
#

when u fix a bug a few more pop up along the journey

pulsar elk
#

one time i fixed this one opcode in my vm, and immediately broke 12 others

#

fixed another that broke

#

and the original broken opcode broke, along with 7 others

#

to summarise, i gave up

unkempt shuttle
#

gg

lavish frigate
pulsar elk
#

OPCODE_M, i hope you suffer

pulsar elk
#

teach me your ways

formal belfry
#

test driven development 📈

lavish frigate
#

Please enter the passphrase to unlock the OpenPGP secret key: "Surge surgedevs@gmail.com" 3072-bit RSA key, ID 2377F43EEE0EC29C created 2025-03-27.

formal belfry
#

gmail

lavish frigate
#

send me mails ill ignore them

#

(its my old email address)

formal belfry
#

normie

pulsar elk
#

i wake up to 30 users shouting at me for fucking up a floar

formal belfry
#

sqlite is the pinnacle of test driven development

dense sand
#

this benchmark does tell me a lot thanks for that

pulsar elk
#

discord is being super buggy

#

its not happening to any other website

elder yarrowBOT
pulsar elk
#

it seems to be an issue with CopyFileContents

jade stone
delicate sinew
supple whale
#

hmmmmmmmmmmmmmmmmmmmm

#

maybe its too much

#

mfw animating background-position and transform3d at the same time uses 15% of my GPU

#

jesus

#

25%

#

NICE

#

average electron app

formal belfry
#

insane

dense sand
#

guys any tips on my backend stack for my final hs project? i want to use: spring, redis for sessions, pg for user data, minio for data storage. i want to build a simple selfhostable spotify clone

supple whale
#

jesus fucking christ thats a cursed stack

#

if you're going to have <10000 users just replace all that with pocketbase and you're done

dense sand
#

most of students pass with a simple portfolio website(in plain html)

supple whale
#

i flex on the teachers by completing their tasks within 100 LOC

#

just to show them that their methods are outdated

#

and everything they teach us doesnt hold up in the real world

#

just you know, to make them miserable

dense sand
#

not sure if i want ot be done in a week though >:(

#

well i would still have frontend to do

#

frontend will be usual nextjs web and flutter mobile

supple whale
#

how do you handle auth?
auto-generated based on the schema
how do you handle REST?
auto-generated based on the schema
how do you cache
idk cf magic

supple whale
dense sand
supple whale
#

i have other shit to do than shitty school projects they assign me xD

dense sand
#

we literally use mysql with phpmyadmin and clean php in web subject now

dense sand
supple whale
#

i think we do too, but idk i dont go to classes, i just turn in all the assignments in the first week and stop coming to class for the semester

supple whale
nimble bone
#

be me
raw html, css, javascript
expressjs backend
postgres

hate yourself and explode after 24 hours of coding

supple whale
nimble bone
#

tbf if i were to make an app id use sveltekit

supple whale
#

i remember my 2nd project ever used HTML templates and raw JS to build UI

#

most people dont even know what templates are XD

#

giga useless

nimble bone
#

my current big project uses raw JS client side and ejs (server side template engine)

dense sand
#

i want to fuck with the auth too

supple whale
#

and its so fast its uncanny

#

it just opens insta and is there

#

and its weird, cuz it feels like as if it was minimized

dense sand
#

im writing a C programs currently husk

supple whale
#

but no, its just starts that quick XD

supple whale
#

i need to compile C with pthreads to WASM

#

and i've been failing for 2 months now

#

XD

dense sand
#

using emcc?

supple whale
#

yes

#

no alternatives unfortunately

dense sand
#

you cant compile with -pthread with emcc?

supple whale
#

haha

#

if only it was that simple

#

it just shits the bed the moment it tries to create a pthread with a "thread startup error"

dense sand
#

works for me 😭

#

or like is there any specific flags you use

supple whale
#

oh yeah many

#

i have so many deps its unfunny

dense sand
#

libass

supple whale
#

i got ffmpeg to compile and run with pthreads

#

but cant get this to work

#

idk why

#

and pthreads would help here so much its unfunny

#

if ya actually help me fix this or fix this urself i can pay ya btw

#

that's how down bad i am

dense sand
#

wow

supple whale
#

currently this lib is performing 3d rendering on a single thread on the cpu in wasm

#

💀

#

to say its slow is an understatement

dense sand
#

is thrd from C11 supported in anyway? or does it require pthreads too

supple whale
#

its an order of magnitude slower than native and 2 orders of magnitude slower than gpu accelerated

supple whale
dense sand
#

oh

supple whale
#

yep

#

thats why this isnt easy

dense sand
#

smh

supple whale
#

well yeah

#

wasm mutexes can lock main thread

#

it is bad

#

you're expected to run wasm in workers

#

except then u cant run other shit in workers like WebRTC or anything DOM based like filters, color matrixes, svgs etc

hoary sluice
hoary sluice
lavish frigate
#

rust for frontend

#

rust for backend

hoary sluice
#

yes

hoary sluice
#

if you want it to look particularly good on a resume do it in kotlin spring

#

but if you want to have fun making it do it in rust

dense sand
#

I just want to have a job

hoary sluice
#

in that case do it in .NET

dense sand
#

I'm getting an electrician certification instead of uni

dawn ledge
#

"fun" and "do it in rust" dont go together

dense sand
hoary sluice
dawn ledge
#

do i like like im enjoying life

hoary sluice
naive heath
#

@supple whale

hoary sluice
#

i know spring is wide spread and ive never used .NET and i hate .NET but its more popular and safer for a backend job

#

im not recommending you to do it

dense sand
#

Aspnet feels so ancient to me for some reason

#

Tbh coding and getting paid for it feels like a fever dream to me

hoary sluice
#

same

#

well moreso having fun while doing it

#

ive only ever had legacy java or mainly frontend jobs

dawn ledge
#

being employed feels like a dream to me
aint no way someone pays me to write horrors i do

dense sand
#

Lmao same

dense sand
supple whale
dense sand
#

Where tf should i even try to get internship or any job opportunity

dawn ledge
#

i was looking for internships around my area
they all wanted senior eng

supple whale
#

i was sitting on my ass watching anime

#

some guy i was watching anime said "yo my company needs a web dev, come work for us"

#

anime landed me multiple jobs

#

;kekw

hoary sluice
#

ive only ever had internships that paid 9 euro an hour and a job that paid really well but had almost no work to be done (a few hours a month if i was lucky, yet i still made more from it than the original internship that started it)

dawn ledge
#

and with the ai slop no one will bother looking for new devs
they're rather gonna hand existing devs ai tools and make them "more productive"

dawn ledge
dense sand
hoary sluice
#

but you have to live in usa

dawn ledge
#

i wish i could sign up for that
but i dont really like the idea of vibecoding

#

the entire reason i code is because i enjoy the process

#

if im handing that off i might as well just not do it at all

hoary sluice
#

2 year bachelor 2 year masters

dense sand
#

But im probably going to Brno to redhat open house meeting so maybe some opportunity finally pwease 🥹

hoary sluice
#

and i dont see any disadvantages to doing a phd

#

you get to make a hobby project youd make either way, get paid for it, get a Dr. title that guarantees you at least 80k a year for the rest of your life

#

you have to write an extensive paper documenting it but its worth it

supple whale
#

that's the difference

supple whale
hoary sluice
#

the cost of living in the usa is your sanity

supple whale
#

phd is ass because you actually gotta do shit, for a masters you can legit come to classes, sleep all day, write 3 exams that are "whats 2+2" and write one dogshit paper at the end of it

hoary sluice
#

its not like im gonna slave away for a random big tech company doing only stuff for them thats not fun

supple whale
#

no, you have to document research, a proejct can be part of it, but rarely is

hoary sluice
#

"but rarely is" idk how true that is and even if its true its bandwagon fallacy

supple whale
#

i learned this the hard way in my masters, that u can write 9 LOC and make a paper on it

#

and that's enough

#

because its the paper and research that matters

#

not the project

hoary sluice
#

the point is i want to do hobby projects and document them either way

#

i have 4 years for that

supple whale
#

my masters is legit

use wasm_bindgen::prelude::*;
use sha2::{Sha256, Digest};

#[wasm_bindgen]
pub fn sha2(data: &[u8]) -> Vec<u8> {
    let mut hasher = Sha256::new();
    hasher.update(data);
    hasher.finalize().to_vec()
}

and

bench
  .add('WASM ' + data.length, () => {
    wasm.sha2(data)
  })
  .add('WebCrypto ' + data.length, async () => {
  // hash using web crypto
    await crypto.subtle.digest('SHA-256', data)
  })
  .add('JS ' + data.length, async () => {
    const hash = new Sha256()
    hash.update(data)
    await hash.digest()
  })
#

thats ALL the code i wrote to get my masters paper

hoary sluice
#

lol

supple whale
#

doing a phd to make a cool project is a waste of time

#

just do the cool project without blueballing urself with the phd bullshittery

hoary sluice
#

i would make a cool project either way and i get the title

#

the title is a lot more useful than the project on the resume

supple whale
#

i've yet to see a moment when a phd mattered for a software dev job

#

at least in my friend groups and from my experience talking with companies

#

idk how it is in the hamericas

#

but in EU people rarely give a fuck

hoary sluice
#

if its a cool phd its definitely gonna put you on the top of the list, im sure eelco dolstra has no trouble applying anywhere if he wants to

supple whale
#

a bachelors usually is enough to get u any software dev job

supple whale
#

a recruiter will spend max 30 seconds on ur resume

dawn ledge
#

i would love to do a phd but that requires you to contribute something new to whatever field youre targeting
and i have NOTHING to contribute
other than my last shred of sanity and braincells

hoary sluice
#

and then in the interview you can show your thesis

supple whale
#

and if you have enough comercial experience with transferable skills, the PHD doesnt matter

hoary sluice
#

who said 0 work experience

supple whale
#

because you spent all the time on the PHD

#

and work experience, and commercial experience are separate things

hoary sluice
#

whats commercial experience then

supple whale
#

4 years of FOSS/internships is close to meaningless

dawn ledge
#

💔

hoary sluice
#

im sure that counts

#

the bachelor is 9.5 hours a week on evenings

supple whale
#

if its a software dev job with transferable skills, then yeah it does

#

yeah the only reason i'm doing a masters is because of the scholarship money

#

i'd insta drop this shit otherwise

#

its a waste of time lol

hoary sluice
#

im gonna do whatever master has the least presence required

#

probably in math

supple whale
#

do software dev]

#

not even joking

#

you can write a masters on a "hey is this new framework faster or better than any of the well established ones"

#

and 90% of schools will accept that

dawn ledge
# supple whale because you spent all the time on the PHD

This is a summary of how I wrote a turn based multiplayer game (from scratch?!) in Go and Typescript. Animations made in Manim lib.

play it: https://tankops.xyz/
source code: https://github.com/kodestan/tank-ops
visit my personal website: https://kodestan.com/
hexagonal grids: https://www.redblobgames.com/grids/hexagons/

0:00 - Intro
0:32 - Ga...

▶ Play video
supple whale
#

and its like 4 hours of effort

hoary sluice
#

my goal isnt to spend the least time possible on the thesis

dawn ledge
#

is it actually that simple

dawn ledge
#

taking career advice from vencord

supple whale
hoary sluice
dawn ledge
#

i dont enjoy math unfortunately

#

this entire year i skipped on math

hoary sluice
#

this isnt the stupid kind of math

#

or at least not what i find stupid in math

dawn ledge
#

i gave my finals not knowing what an integral is and how to do simply it or whatever

ornate quiver
#

do theoretical physics

hoary sluice
ornate quiver
#

yeah i was joking

#

its a cool field though

hoary sluice
#

a recruiter is gonna completely gloss over a msc in physics

dawn ledge
#

i jsut ran diff --recursive on a directory with node_modules
have mercy on me

hoary sluice
#

my hs diploma thesis is 3k loc and 80 pages (30 from my partner)

supple whale
#

the minimum

#

so like 30 pages

hoary sluice
#

nah thats crazy

ornate quiver
#

the fuck

dawn ledge
#

diploma

supple whale
#

idk they havent reviewed the paper yet, so idk if its good

dawn ledge
#

what was it on

hoary sluice
# ornate quiver your hs has a thesis requirement??

its no longer required in normal high schools (since last year i think - you can choose between an extra subject on the Matura exams or a VWA thesis), but in technical high schools (im in one) you need to write a diploma thesis to get a proper graduation

dawn ledge
supple whale
dawn ledge
#

i'll be damned if this gets through

#

keep me updated

supple whale
#

👍

dawn ledge
#

maybe i'll do a masters

supple whale
#

they are reviewing it in like half a year

#

or smth

#

wasm is giga bad

hoary sluice
# ornate quiver thats wild

we have 5 years instead of 4 in normal schools, and most of the last year is focused on the thesis, theres still normal school stuff, grades, and exams but you have a lot more free time and you can enter a bachelor a semester early or a year early for some unis or if its exactly the same subject

supple whale
dawn ledge
#

WOW
i just moved from having my dev folder in wsl to windows _> symlink
and perf improvement in rust-analyzer is insaaane

hoary sluice
supple whale
#

nah

#

i still gotta pass all the classes

hoary sluice
#

how can u be sure that 30 pages and 9 loc is enough

#

have u looked at other theses

ornate quiver
supple whale
supple whale
ornate quiver
#

ah

hoary sluice
#

also what are the rules on reusing old material, could i use an interpreter i wrote in high school in my masters thesis, or could i completely recycle my high school thesis, or do i need to start completely fresh?

supple whale
#

no problem

dawn ledge
supple whale
#

my bachelors is some app i wrote in high school to learn JS

hoary sluice
#

we were not allowed to use any material from before september unless explicitly marked as such and it would not contribute anything to the grade

supple whale
#

its operations per second

hoary sluice
#

what country are u from

spark tiger
#

is anyone here familiar with astrojs? im trying to use an npm package on client-side js but for some reason it just says the imported function is undefined

supple whale
#

^

hoary sluice
#

its not that hard to avoid

supple whale
dawn ledge
#

take is as a fun exercise and "rewrite" your old code with better practices :^)

supple whale
#

which i wrote in like 2022 to learn PWAs

hoary sluice
#

my problem was more that we werent allowed to work alone, or the grade would automatically be downgraded because there was no teamwork involved, and nobody in my class wanted to do anything interesting so i had to settle on a voice assistant

ornate quiver
#

guhh

hoary sluice
#

yea i really wanted to continue my compiler

#

but id prefer an A

ornate quiver
#

im thinking of writing an ART hooking lib for my bachelors thesis
although that might be really overkill
that is when i actually get into a uni guh

supple whale
#

yeah my shit is usually stuff that has real-world usage

#

aka shit that'd people actually use

#

and i use that kind of shit to learn

#

so i make something people will use, while learning how to

hoary sluice
#

nah i make whatever i want to make

#

explains why i have 0 prs opened ever

supple whale
#

i'd like to make a personal gesture controlled, ar assisted small drone swarm that'd scan anything and everything

#

but its not like its useful

hoary sluice
#

lol

supple whale
#

so i'll make a torrent client lib, or utility libraries whcih are

hoary sluice
#

you can sell it to ikea

supple whale
#

or polyfills for shit

supple whale
#

regulations on drones are insane

hoary sluice
#

depends on the country

supple whale
#

makes me wonder why AI has no regulations in comparison

hoary sluice
#

youre allowed to operate small drones in austria as long as you dont spy on anyone

#

so if you want to scan someones house who gave you express permission you can

hoary sluice
#

and useless

#

except for maybe like medicine

supple whale
#

yeah but sending a swarm of 8 drones to map an entire corridor/room will get u jailed about anywhere

hoary sluice
#

on private property??

#

no it wont

supple whale
#

BRUV

hoary sluice
#

i can imagine them being used to map caves or map peoples houses accurately to the millimeter for furniture design

supple whale
#

caves are useless because you cant map them very deep because signal cant rly travel that far

hoary sluice
#

the drones can be autonomous

supple whale
#

and the types that can are often heavily regulated

#

that presents its own issues too

hoary sluice
#

well anything is gonna have its issues but it can definitely be done and it would be an awesome phd

supple whale
#

anyways, its smth i'll probs do anyways regardless of how legal it is

#

only because its cool

hoary sluice
#

i can see it being more useful in mapping peoples houses

#

if they want to renovate

#

or drone shows that people can control themselves

supple whale
#

i have some experience with p2p swarms, syncing and messaging, just the drone crotrol itself will be difficut

hoary sluice
#

would you build your own drones or buy ready ones

#

like betafpv and dji have some pretty extensive protocols for controlling them

supple whale
#

buy ready ones, or buy custom ones most likely

#

self-building drones is.... dogshit

#

mainly because miniturization isnt easy

hoary sluice
supple whale
#

i know from simple pcbs and arduinos

hoary sluice
#

as a project last year in high school

supple whale
#

that self-making shit using generalized instead of specialized hardware is awful

hoary sluice
#

it completely failed but i aced the presentation and got a C

hoary sluice