#programming

1 messages Ā· Page 133 of 1

sage crag
#

also im removing :version "latest" that seems like an easy way to get malware

tender river
#

if you dont have lockfiles then it cant be fine

#

mhm

sage crag
#

wa

fast pagoda
#

do u even checksum

sage crag
#

im inventing a package definition format, there is nothing to checksum yet

tender river
#

fetched dependencies have to be checksummed ideally

sage crag
#

yes

opaque wharf
#

Why not copy npm? neuroTroll

sage crag
#

wa

tender river
#

and git commit hash doesnt count as a checksum neuroSad

fast pagoda
#

checksum the checksums to ensure that they are checksummed out they dome

sage crag
#

not sure what best practice for checksumming directories is

#

tar and then checksum?

tender river
#

uh let me check

sage crag
#

checksum each file in the directory and then checksum the concatenated checksums

#

:mhm:

opaque wharf
#

If it is git repo, couldn't you do git archive and checksum that?

fast pagoda
#

checksum the working tree

sage crag
#

not good enough, needs to work on arbitrary directories

opaque wharf
#

Checksum the directory name, file list and size neuroTroll

opaque sigil
#

find into sorting into individual checksums into global checksum?

sage crag
#

i'd rather walk the directory in code

opaque wharf
#

Lmao

fast pagoda
#

crawl it in code when it takes 30 min

opaque sigil
#

not like there's anything stopping you from doing so

opaque wharf
#

The easiest way is really to tar it

fast pagoda
#

tar my beloved

opaque sigil
#

okay but that's even less portable than find lol

sage crag
#

yes

#

i'll just walk the directory

opaque wharf
#

Wait, how would an encryption be done to a dir?

tender river
#

thats a first

sage crag
fast pagoda
limpid timber
#

ainoway

sage crag
#

awa

tender river
sage crag
#

a

tender river
#

i've realized that nix just uses nars for that, which are like tars but deterministic

fast pagoda
#

nars bar

opaque wharf
sage crag
#

i uhh

opaque sigil
#

lexicographic order

sage crag
#

uhhh

fast pagoda
#

haha yeah we all know that one right guys

sage crag
#

file size order

opaque wharf
#

No, you hash every file first, then sort the hash

sage crag
#

5head

#

hash every file, sort hashes as numbers

fast pagoda
#

vibes order
set an llm with 0.0 temp and a fixed seed at the dir and let it arbitrarily sort

sage crag
#

just let the llm compute the hash atp

#

vibehashing

opaque wharf
#

Ironically enough, it may work lmao

sage crag
#

nar

tender river
#

nur

opaque wharf
#

Setting temp to 0 and with defined seed, the LLM is deterministic right?

tender river
#

go uses sha256sum $(find . -type f | sort) | sha256sum apparently

sage crag
#

it doesnt even set the locale???

#

hash dependant on country

opaque wharf
tender river
#

i think in general everyone just prefers hashing a single file; of course, that file has to be stored somewhere

tender river
# sage crag nar

imo, best practice is any archive format (nar or tar) that you can deterministically construct and hash, and that you can get the source back from (i.e. it needs to be a bidirectional format, unlike go)

sage crag
#

hum

sage crag
tender river
sage crag
#

remember i have to write this in hblang too

#

and it has to be portable to aos

tender river
#

you'll manage

sage crag
#

noe

tender river
#

yes neuroAYAYA

#

i believe in you

#

you can just use nar as is, or you can write any binary format with the same contents

#

you dont have to save the archive either

#

as long as it can be constructed independently thats enough

sage crag
#

working more on format

#

im dumping arbitrary version names, semver only please

#

now to figure out if and how to handle c dependencies

#

considering they dont exist for ableos

opaque wharf
#

So you bump version on different build of the same version? neuroTroll

fast pagoda
#

i have my own versioning that i decided was correct a long time ago and its apparently known as a party foul to just come up with some bullshit

#

like i did and do

opaque sigil
sage crag
#

most packages that you will see that are forced to use semver will just have version "0.1.0" no matter how many changes

fast pagoda
#

it's beautiful

opaque wharf
#

I need some snack enub

sage crag
#

that's fine imo

limpid timber
#

2: stand proud 7 u are okay.

opaque wharf
sage crag
#

why would i

tender river
sage crag
#

but i dont like it particularly

opaque sigil
#

what is petal again

tender river
opaque sigil
#

build tool?

sage crag
opaque sigil
sage crag
#

will be written in python and then written in hblang

tender river
opaque wharf
fast pagoda
#

just remembered something and realized why my pipewire has been dying continously

tender river
sage crag
fast pagoda
#

think this is the bastard

sage crag
#

c dependencies just do whatever they want

#

maybe i should include the commit and repository of the hblang compiler used

#

because that thing is never going to be stable

tender river
fast pagoda
#

make that your version number

tender river
sage crag
#

mhm

#

a problem i can think of is arbitrary compiler means supporting arbitrary compiler arguments

#

aside from the obvious "this could be malware"

#

so i think i will just stick to latest

opaque wharf
#

Time to see konii suffer enub

#

The petal development will be shared here right?

fast pagoda
#

who is responsible for nix (pkger//nar//nixos) as w hole

#

is it just one VERY opinionated guy

#

i could see that

opaque sigil
#

well it was a phd thesis

#

so i guess

sage crag
fast pagoda
#

yes i think in the netherlands

opaque sigil
#

it's an interesting read

#

i should finish it

fast pagoda
#

that seems to spency

tender river
sage crag
#

interesting premise

olive sable
#

ngl for aliexpress pricing that still seems like a lot

fast pagoda
#

gmorning sam

tender river
#

for me i'm fine with just carrying around my ereader

fast pagoda
#

it seems too expensive for what it is to me

tender river
sage crag
#

aliexpress was 600 dollars more

fast pagoda
#

low volume device ig

#

you could get a whole lot for 400 buckaronis

sage crag
olive sable
sage crag
#

found video

olive sable
fast pagoda
#

ewww the site has some form of tiktok related category thing

#

im out

tender river
tender river
#

even on my kobo clara hd i have to use portrait mode and split each page into two

fast pagoda
#

PDF is an infuriating format

#

fuck PDF actually

tender river
#

but its what papers are written in

#

nothing you can do about that

opaque wharf
#

Oh, pdf is sooo much worse than what it actually is lol

fast pagoda
#

yeah but as a format it's highly rude

opaque wharf
#

Not every implementation even agree to support every feature (and rightfully so)

sage crag
#

javascript in pdf

#

why does your pdf have RCE

#

can i embed hblang compiler in pdf

fast pagoda
#

doesnt arxiv and id imagine other sites that serve papers already have some form of conversion methds to get them to be just raw html5 instead

i cant believe adobe still sells so many pdf tools

opaque sigil
#

i don't even care about the format itself, just give me the option to not have to manually invert pages every single time

#

arxiv has a shitty html5 viewer

fast pagoda
#

yeah ive never tried it

fast pagoda
#

is it truly dogwater

opaque wharf
#

What are you doing?

fast pagoda
#

dark mode

#

i imagine

opaque sigil
#

yeah inverting colours

sage crag
tender river
opaque wharf
#

Reading a document meant for printing in dark mode is something else catdespair

opaque sigil
#

this is one of the main reasons i use firefox tbh, since pdf.js actually lets you target the pdf page as opposed to the entire viewer

#

half the pdfs were never meant for printing

sage crag
opaque sigil
#

actually

sage crag
#

i mean using them

opaque sigil
#

i'd argue most of them

fast pagoda
#

the PDF viewer in chrome will let you invert the page the same as any other with like darkreader and it turns them black with white text

opaque sigil
#

especially when it's just text

opaque wharf
#

Hmm, maybe I'm biased because of tons of datasheet and other document

opaque sigil
sage crag
#

if im writing a custom lisp perhaps it's worth it to parse versions like 0.1.0 rather than treating them as strings like "0.1.0"

fast pagoda
#

yes which still has a nice crisp black pdf with white text

#

and then a bunch of white around it

#

custom css time

tender river
opaque sigil
#

why would i want the first when i can have the second

tender river
#

at most i'd suggest allowing libraries to pass -l linker flags

opaque sigil
sage crag
tender river
sage crag
#

mhm

fast pagoda
opaque sigil
#

trust me, i have tried

#

lost way too much time on this crap neuroCry

sage crag
#

awa

opaque sigil
#

the best you'll get is using the pdf.js extension

tender river
# sage crag mhm

to the contrary, in rust crates are responsible for their own C dependencies but when your system doesnt provide it in an expected place the crate just breaks neuroSadge

#

awa

sage crag
#

awa

tender river
#

give me a minute FOCUS

sage crag
#

binute

tender river
#

bour

sage crag
#

bwa

fast pagoda
#

šŸ…±ļøinute

olive sable
#

awa

sage crag
#

šŸ…±ļøwa

opaque wharf
sage crag
#

day 0x11

#

11:1990

#

appealing number

opaque wharf
#

So we miss 1984

#

Evil stream! neuroHypers

olive sable
#

warning: USE_WEBGPU is deprecated (please try migrating to --use-port=emdawnwebgpu, which implements a newer, incompatible version of webgpu.h ...)
wdym incompatible??? why would i want to use an incompatible version?

sage crag
#

sam van wgpu maele

olive sable
#

wgpu != webgpu

sage crag
#

correct

#

however

#

they are the same

rigid snow
#

wgpu āœ…

olive sable
#

wgpu is rust

sage crag
#

correct

rigid snow
#

gpu is gpu

tender river
# sage crag any ideas for alterations
  • format-version could be in () as well
  • depends are semantically something the package depends on, right? shouldnt it be below package in the tree?
  • not sure what example is for, something more generic could be extra binary entrypoints like rust's [[bins]] vedalNeuroHUH i think
  • provides could be merged with example too maybe
  • external could use the exact same syntax as top-level packages, in fact it could be a package as well but with a :root ... attr or whatever
  • ^ in that case it would be nice to standardize locations a bit more, :src + :git + :hash is a bit too dynamically typed, even if you only plan to use git for now i would prefer something that makes it being git explicit, like (lily (git "https://..." :commit "..." :hash "abcd"))
  • :version :git looks weird bwa, :version (git ...) would make more sense
    i could potentially go on but thats enough feedback for now i think?
sage crag
#

bwa

#

external is supposed to be the same as the toplevel, i just forgot enub

opaque wharf
fast pagoda
#

niiice

opaque wharf
fast pagoda
#

i love seeing ascii art in the code blocks

rigid snow
#

ascii art

fast pagoda
#

😻

rigid snow
#

that’s a choice you made

#

that emoji

fast pagoda
#

why

#

i use it at work all the time as an innocent heart react so

#

if there's some crazy context

#

lmk LMAO

rigid snow
#

there’s not

#

dw

opaque sigil
rigid snow
#

it’s giving 40 year old woman

#

idk nevermind

fast pagoda
#

lmfao

#

tbh that's good

#

because that is what a lot of my coworkers are

sage crag
#

if you dont want to read the file

tender river
#

bwa lisp doesnt mesh well with tabs

sage crag
#

correct

#

this is why i wanted the other stuff to be outside of package

#

hm

opaque wharf
uneven pulsar
#

Oops, something broke! Error: 404 Requested entity was not found. i give up

#

NO MODEL WORKING

sage crag
#

seems terrible

#

write multiple packages

opaque wharf
#

So, what about monorepo?

sage crag
#

have two packages

#

i dont see your point

opaque wharf
#

So have multiple package definition file?

sage crag
#

yeah

opaque wharf
#

Hmm, can package be list then?

desert plaza
#

what am i doing wrong

#
@handler("entry", fn(): never {
    a := 0xA
    b := 0xB
    memcpy(&b: ^u8, &a: ^u8, 1)
    @syscall(0x3C, 0)
})

memcpy := fn(dest: ^u8, src: ^u8, count: uint): void {
    i := 0
    loop {
        if i == count break
        dest.* := src.*
        dest += 1
    src  += 1
    i    += 1
    }
    return
}
uneven pulsar
#

MY STUPID PYTHON ENV WONT UPDATE GEMINI

fast pagoda
#

gemini is a nodejs application

#

so you probably need to npm update

uneven pulsar
uneven pulsar
#

dude there no way i am scrapping my code

#

bruhhhhhh

fast pagoda
#

oh for some reason i thought you said gemini cli

#

did you specify a single version of gemini in the reqs

tender river
#

just do memcpy(&b, &a, 1)

fast pagoda
#

it wont update it if you put gemini version = 6.9 in your requirements

#

it will never go above 6.9

desert plaza
tender river
#

anyway show the errors

#

also dest.* = src.* not dest.* := src.*

#

because you're not creating a variable

#

you're assigning a value to something that already exists

sage crag
desert plaza
sage crag
#

what are you trying to do by the way

desert plaza
#

is it not obvious?

sage crag
#

no, i cant tell if you are trying to memcpy from a to b or if you are trying to use b and a as absolute addresses

desert plaza
sage crag
#

memcpy(@bit_cast(&b), @bit_cast(&a), @size_of(@TypeOf(a))

sage crag
desert plaza
sage crag
#

it was never documented because casting is documented

#

actually, fair, this isnt particularly helpful

desert plaza
#

my brain is very slow to understand all these high-level abstractions neuroGlorp

olive sable
#

my brain is very slow to understand

steel mesa
#

my brain is very slow

fast pagoda
#

y'all got brains?

#

damn i missed that one

desert plaza
tender river
#

all stuff you'd already know if you programmed in just about any systems language

sage crag
#

its a bit unfair, hblang does casting in a non-conventional way

desert plaza
#

Erm i object

sage crag
#

c just lets you pass any old thing

#

rust has its own rules

tender river
#

rust doesnt have autocasting

#

it has from

sage crag
#

and as

tender river
#

true

sage crag
#

or like this

i := 0
while i < count {
  dest.* = src.*
  dest += 1
  src += 1
  i += 1
}
#

or like this if you are a psycho

for ptr := @bit_cast(dest)..@bit_cast(dest) + count {
    @as(^u8, @bit_cast(ptr)).* = src.*
    src += 1
}
opaque wharf
sage crag
opaque wharf
#

Dangit

sage crag
#

so, casts types of the same size

desert plaza
#

why does hblang have types

#

seems suboptimal

sage crag
# opaque wharf Dangit
end := dest + count
while dest < end {
  dest.* = src.*
  dest += 1
  src += 1
}

it would be equivalent to this

sage crag
sage crag
#

my bad, supposed to read dest < end

opaque wharf
#

dest < end

#

Yeah

sage crag
#

hence more optimisations

sage crag
#

type hint

#

@as(<Type>, value) tells the compiler that it should be expecting value to be <Type>

#

then you can @bit_cast() or @int_cast() to make that true or face the compile error

desert plaza
sage crag
#

wh

opaque wharf
#

u8

#

Or at least the ptr to it

desert plaza
#

i wish i just had a datasheet or sth despair

opaque wharf
#

^u8

sage crag
#
main := fn(): void {
  a: uint = 0
  b: ^uint = &a
  a = @bit_cast(b)
}
#

uint and ^uint are the same size

#

so you can @bit_cast() a ^uint to a uint and vice versa

opaque wharf
desert plaza
sage crag
#

hblang has a spec too, its called a type system

desert plaza
#

why do we need types though?

#

awaiting response ReallyInnocent

sage crag
#

what.

#

without types, a high level language is just assembly enub

desert plaza
#

that is not true

sage crag
#

even assembly has types

olive sable
#

types are good tho

#

idk why you wouldnt want them

rigid snow
opaque sigil
desert plaza
#

but all the types make things more complicated in my head

sage crag
#

without types you are limited to doing primitive ops on single size of register

#

genuinely

desert plaza
#

and?

opaque wharf
sage crag
#

what.

desert plaza
#

wdym what

opaque wharf
#

He truly is a CPU

opaque sigil
#

That's not a productive way of getting anything done

sage crag
olive sable
#

i feel like types makes everything easier no???

opaque sigil
#

Not everything but they are a positive in general

olive sable
desert plaza
olive sable
#

you got your bools, ints, floats. usigned stuff too

opaque wharf
#

TIL COBOL is still updated until 2023

sage crag
olive sable
#

when i write my programs im not gonna spend my time thinking how to do my math in binary

desert plaza
sage crag
#

are you asking why we cant rewrite

main := fn(): void {
  a: uint = 0
  b: ^uint = &a
  a = @bit_cast(b)
}

as

main := fn(): void {
  a: uint = 0
  b: ^uint = &a
  a = b
}
olive sable
# desert plaza why not

i get that it doesnt seem like it because im doing 4 seperate graphics api's at the same time. but my goal is to actually have a working engine in less than 5 years time

sage crag
#

basically "because i have better things to be doing, like programming"

desert plaza
sage crag
#

what

olive sable
#

???

desert plaza
#

wdym

sage crag
#

in no instance, does a or b have unclear typing

#

and the latter makes less sense

olive sable
desert plaza
#

erm i think i'm making more sense than u guys

olive sable
#

its an unsigned integer, i dont see what part about that is unclear

sage crag
#

@tender river please deliv

desert plaza
sage crag
olive sable
#

i get that i may be unreasonable at times with my programing style, but at least i use types

sage crag
#

or 4 if your system is 32 bit

opaque wharf
#

Now I agree that THAT is a bit cursed lol

desert plaza
sage crag
#

its not unclear at all?

#

its typed uint

#

its an unsigned integer

opaque wharf
#

But you can always use u32

sage crag
#

pointer width int

#

same as usize in rust

#

we have u8 u16 u32 u64 uint

opaque wharf
olive sable
#

i feel like yall are getting hung up on something that is very standard in a lot of languages

sage crag
#

dont even get me started on c integers if you think this is cursed

opaque wharf
#

I am just saying that having a type with variable width is a bit problematic for me too

olive sable
#

its not variable

desert plaza
#

better if it's like this ```rust
main := fn(): void {
a: u64 = 0
b: u64 = &a
a = b
}

opaque wharf
#

Especially for something low level

desert plaza
#

it makes sense

opaque wharf
sage crag
#

&a is a pointer to a, hence its type is ^u64

desert plaza
sage crag
#

hello?

desert plaza
#

those are irrelevant

#

no need

sage crag
olive sable
#

brother

opaque wharf
#

I think it stems from the use of ^ and &

olive sable
#

aaaa

desert plaza
#

i don't use types when i write code in x86 machine language

olive sable
#

ok

sage crag
#

you do though

desert plaza
#

why would i need them elsewhere

olive sable
#

but you know how you have memory adresses right?

sage crag
#

you just keep them in your head

opaque wharf
sage crag
#

if you intend to die on the typing hill, you will die on it

olive sable
desert plaza
#

everything is just sequences of binary guys

#

there are no types

sage crag
#

on 32 bit systems no

olive sable
#

well ye but i doubt hes using a 32 bit system

sage crag
#

it doesnt matter because hblang doesnt have a 32 bit target

#

lol

opaque wharf
#

x86_64 does not use 64-bit address

opaque sigil
#

It does but the upper 16 are reserved

desert plaza
sage crag
#

so is your address

#

and yet

olive sable
#

numbers = binary

opaque wharf
#

It's address + some metadata

olive sable
#

still

opaque sigil
#

You do get 64 bits you can manipulate so I think it's okay

sage crag
opaque wharf
opaque sigil
#

True

sage crag
#

generally we would say the pointer width is 64 bits

#

the address width can be less than the pointer width

opaque wharf
#

That is implementation details no?

olive sable
sage crag
tender river
#

awa

desert plaza
#

but types though

olive sable
#

your name is unsigned orms KEKW

desert plaza
#

u orm s

olive sable
desert plaza
#

abstract types are confusing

#

i need to know address and size of all data in my program

olive sable
#

but they're not abstract

opaque wharf
#

People complain that #programming goes off topic. Look at what happens when we are on topic

opaque wharf
olive sable
desert plaza
sage crag
#

abstract types are ones that have opaque values

desert plaza
#

types only ever makes the compiler complain, they don't really help me

opaque wharf
#

Well, when we compare high level language to what uorms is doing then types are abstract

sage crag
#

primitive types arent abstract, they are concrete

#

they map directly to a value

opaque wharf
#

That is from type theory? Because I don't study it so I only know some terms

tender river
#

its not from type theory

sage crag
#

i know about as much type theory as i can quote names of type theorists

tender river
opaque sigil
opaque sigil
#

No program is better than an utterly broken one

sage crag
#

this i can agree with

#

compile error is infinitely better than runtime error

desert plaza
#

i prefer troubleshooting my programs, rather than troubleshooting the language i'm using

sage crag
#

you are only troubleshooting the language if the compiler crashes

opaque wharf
#

I think I'm better off designing some electronics again ICANT

sage crag
#

a compiler crash is different to a compile error

desert plaza
opaque sigil
#

That's why I don't use rust as much anymore neuroPogHD

sage crag
#

there is an error message???

#

it tells you what you did wrong??????

#

and you can use it to fix the errors???????????????

desert plaza
opaque sigil
#

More unclear than some broken binary?

tardy wraith
desert plaza
sage crag
#

your error message was unclear because you didnt know language syntax

opaque sigil
#

Nah that's cope

desert plaza
#

that's the problem neuroGlorp

#

if only hblang had good docs

sage crag
#

or if you

#

just read them

#

at all

#

i admit this is not a clear error

opaque wharf
sage crag
#

colon is used for pattern matching

sage crag
sage crag
#

this is an issue solved by forcing docs in people's face aggressively apparently

desert plaza
tender river
opaque wharf
tardy wraith
desert plaza
sage crag
desert plaza
sage crag
#

if you read it, you can see struct {.l: u16; .r: u16} is going to have a size of two u16s or, the same as 1 u32

#

you can see the return type of main is u32

#

hence @bit_cast() is casting between two distinct types of the same size

olive sable
olive sable
opaque wharf
#

I guess trickster is a better word?

olive sable
#

on cpu, on gpu, on a samsung smart fridge, an int is always 32 bits

#

in opengl

desert plaza
#

the bit part

olive sable
#

cuz you cast the bits?

sage crag
#

have been casted

#

hence

#

bit cast

desert plaza
#

but like

tender river
desert plaza
olive sable
#

yes

sage crag
desert plaza
#

how pointless

sage crag
olive sable
#

oh

desert plaza
#

if the data is the data, then why the types

sage crag
#

i genuinely cant tell if you are trolling at this point

olive sable
#

because math

sage crag
#

im having an aneurysm

desert plaza
tender river
#

types in fact affect semantics of operations

#

if you want to take the same data but interpret it under different semantics, thats what bit_cast is for

opaque wharf
#

Konii just gave up and play osu evilWheeze

desert plaza
#

oh

#

too bad

olive sable
#

doing 5/2 gives a diffrent result as an int than a float for example

desert plaza
#

or

tender river
#

yes, that valid in c

desert plaza
#

uhh

tender river
#

also in C, (u8)(i8)(-1) is different from (u32)(i32)(-1)

opaque wharf
#

TypeScript go even further and make sure the type is turing complete evilWheeze

desert plaza
#

is there a typeless language

tender river
#

javascript

olive sable
#

NeuroClueless python

opaque wharf
#

COBOL

tender river
#

well, not really since js still has types, just not static ones

desert plaza
olive sable
#

then stop complainign

desert plaza
#

it has invisible types

olive sable
#

yes

desert plaza
#

so it has types

olive sable
#

or does it?

#

a type is a social construct

desert plaza
#

hmm

sage crag
#

there is no high level language that doesnt have types

#

even bf has types

desert plaza
#

what

tardy wraith
#

types in python are checked at runtime so i mean no high level language for sure to be typeless

sage crag
#

they are simply implicit

desert plaza
#

how does bf have types?

#

i've been casually writing a bnf for an optimal programming framework

#

with no types

#

no needlessness

#

so basically

#

a language that just writes the bytes i manually specify to a file, but the bytes are written in hex, and are inside of these blocks that can be addressed

opaque wharf
desert plaza
#

and like

olive sable
#

in my own opinion, even if you do it bitwise you still have to think about the amount of bits available and how they will be used. so i still think about it as a type

opaque wharf
#

My keyboard is not keyboarding today wtf

desert plaza
#

i can write machine code like usual, but with quality of life improvements

tender river
opaque wharf
#

Basically

desert plaza
desert plaza
tardy wraith
#

ik

#

im joking

sage crag
desert plaza
tardy wraith
#

like when u write it bad

#

then its not optimal

sage crag
# desert plaza me

when you can write a vulkan renderer in machine code, come back and tell c it's suboptimal

tardy wraith
#

but if its written good isn't it the best?

sage crag
desert plaza
olive sable
#

the most basic example i can think of is the diffrence between a signed and unsigned integer.
if you try to use a singed integer as an unsigend integer you're gonna get a number that is 2147483648 too high

desert plaza
#

a high-level compiler

tardy wraith
#

im a java nerd so I suggest u use java :>

desert plaza
#

writing machine code by hand is more optimal than java neuroGlorp

olive sable
#

no

desert plaza
#

yesh

tardy wraith
#

naur

desert plaza
#

yuhuh

opaque wharf
#

Backus Naur?

olive sable
#

if i make my programs in machine code id be working on this game engine for 20 years

#

raw machine code is for people that make very short programs, or are clinically insane

#

or just jobless i guess

tardy wraith
#

maybe make your programming language neuroAware

olive sable
#

no

tardy wraith
#

it was for uorms.b

olive sable
#

id rather use hblang than make my very own

#

ah

#

lmao

desert plaza
tardy wraith
#

lmao

#

idk what is hblang is it good?

olive sable
#

no clue

tender river
olive sable
#

konii said i should use it once lily is not broken

desert plaza
tender river
#

not really

desert plaza
#

y

tardy wraith
#

aslo do someone have here experience of doing a LLM model? I wanna know what is the best shall i go with C# or with what?

#

*also

tender river
#

because a language is not its parser

desert plaza
opaque wharf
tender river
#

the language exists even without its grammar

desert plaza
#

what

tender river
#

the grammar only exists as a human readable representation

#

hblang is 20k lines of zig code not even counting zydis

#

its not something you can casually implement as long as you have a bnf

opaque wharf
#

That is true yes

desert plaza
opaque wharf
#

But still, the spec of hblang as of now is whatever the parser decide is correct

tender river
#

any language beyond the 1950s is complex to implement

desert plaza
#

but a bnf would be very useful

tender river
#

it would not nub

desert plaza
#

why not

tender river
#

because syntactically valid doesn't mean semantically valid

desert plaza
#

example?

tender river
#

5 = 5 is parsed by the compiler but rejected during the semantic analysis phase

#

thats the literal simplest example

#

"".a is another example

desert plaza
#

right

tender river
#

"".len gives the string's length, "".a is syntactically valid but not semantically valid

hoary lion
#

did I do daily morn

tender river
#

it would not

desert plaza
#

how not

tender river
#

thats not the job of a grammar

#

because

a := ""
a.len

is valid

#
a := ""
a.a

is not

#

thats what types are for, they're for tracking what a value is semantically

opaque wharf
#

I think BNF would catch that chay

tender river
#

it would not

desert plaza
tender river
#

it would be valid, because .a is valid for something else that is not a string

tardy wraith
#

isn't bnf a way of writing rules for: what strings are valid in language and how are the syntax structured, so like literally it cannot check the sematics

tender river
#

bnf is just a formal grammar thats literally what it is

#

it doesnt know anything about what the language means

tardy wraith
#

ye

desert plaza
#

chay, are you saying it would be impossible to write a bnf that catches that example

tender river
#

thats the definition of a formal grammar - it governs what you can write regardless of its meaning

desert plaza
opaque wharf
#

Oh right it would not. I am thinking of BNF for each type not the whole language lmao

tardy wraith
opaque wharf
#

Wait

#

No, it can still define that too

tender river
# opaque wharf Oh right it would not. I am thinking of BNF for each type not the whole language...

In computer science, Backus–Naur form (BNF, pronounced ), also known as Backus normal form, is a notation system for defining the syntax of programming languages and other formal languages, developed by John Backus and Peter Naur. It is a metasyntax for context-free grammars, providing a precise way to outline the rules of a language's structu...

#

just so we're on the same page

tender river
opaque wharf
#

Ye, I know BNF but just never write it so I am thinking of how

tender river
opaque wharf
#

I just read RFC to implement stuff evilWheeze

desert plaza
#

hblang RFC when?

desert plaza
tender river
#

note that formal grammar cant describe like, literally any language's meaning

#

thats the topic of a separate field of study called operational semantics

desert plaza
#

hmm

#

neuroReading interesting

tender river
# tender river ``` a := "" a.a ``` is not

additionally, for catching things like this type systems are implemented - the typing rules say something like "if a is a string, then a.len has the type uint", and if theres no typing rule that matches a particular expression, the expression is rejected

hoary lion
#

im not good at type topics but are we talking about linters

tender river
#

we're talking about why a language is not its grammar

desert plaza
#

compilers and bnf

tender river
#

its like in english, i can construct a sentence thats grammatically correct but is utter meaningless nonsense

#

its the same for programming languages

hoary lion
#

makes sense ig

#

i dont really touch compilers yet

#

this might be a sign to actually learn c

desert plaza
hoary lion
#

(i dropped at pointers neuroDeadge )

tender river
# desert plaza compilers and bnf

if you actually want to learn about stuff like that academically i can link you some books but suffice to say its not really relevant to machine code

desert plaza
#

it is an interesting topic

opaque wharf
#

Evil has posted neuroHypers

rigid snow
#

smh so late

opaque wharf
#

I don't have twitter man

#

My social media is a lemmy account and discord, Youtube if you count it as social media

rigid snow
#

based

#

being on discord is cringe tho

olive sable
#

ok so

#

i cant get webgpu to work

hoary lion
#

ugh notion app is so clunky

nocturne olive
#

On which browser?

hoary lion
olive sable
#

i havent reached the browser part yet

#

just wont compile

tender river
sage crag
#

a

#

w

#

a w a

olive sable
sage crag
#

actually ive decided

#

nevermind im undecided

#

maybe i want to sleep maybe i dont

#

hm

olive sable
#

its 22.24 for u rn

#

not too late

sage crag
#

but

#

if i start something

#

i will awake for another 8 hour

olive sable
#

hmmm

tender river
sage crag
olive sable
#

i always think "another episde is only 20 min" but then i end up binging 4 seasons. so evilShrug

tender river
#

this is so real though i never end up being productive if i dont stay up late neuroDespair

sage crag
#

yeh yeh

olive sable
#

ye

sage crag
#

i want to work on petal

#

but awa

#

wawa

#

im going to explode the sun

#

more news at 3FBE

tender river
#

which one

sage crag
#

oh nyo i left my window open

#

the bugs

#

miyagi and sendai san would never leave the window open

olive sable
tender river
#

i would never leave the window open, mostly because i never open it (its cold outside)

sage crag
#

a mosquito just flew into my fan

#

i think it is gone

olive sable
sage crag
#

it made a buzzing noise when it hit the fan

#

or that might have been the fan

hoary lion
#

disintegrated

#

mosquito deserves it tho

tender river
#

the fan does ot

olive sable
sage crag
#

waaaa

olive sable
#

but ye this is what i hear whn i see awawawawawa

tender river
#

why am i sleepy its only 4:30am

sage crag
olive sable
#

that was fast

hoary lion
sage crag
#

im fast

sage crag
#

why are you reminding me to go to sleep

#

i should be reminding you

olive sable
tender river
#

no its still early

olive sable
tender river
#

what.

#

firefox has tab groups now?

uneven pulsar
#

epic failure

olive sable
#

i stole someone else's code and that seems to be working

uneven pulsar
#

I wish if I can make my own ai

#

but rn poor:((

olive sable
#

making an ai doenst necesarily mean you have to spend money

rigid snow
#

eectricity bill

olive sable
#

solar

rigid snow
#

investing in solar panels costs even more

#

than just paying the bill

olive sable
#

well ye, but if you already have them

#

if you dont have a gpu you'l need to buy one

#

we're being pedantic here

rigid snow
sage crag
olive sable
opaque wharf
#

New Welch Lab video just dropped
https://www.youtube.com/watch?v=qx7hirqgfuU

Take your personal data back with Incogni! Use code WELCHLABS and get 60% off an annual plan: http://incogni.com/welchlabs

New Patreon Rewards 33:31- own a piece of Welch Labs history!
https://www.patreon.com/welchlabs

Books & Posters
https://www.welchlabs.com/resources

Sections
0:00 - Intro
4:49 - How Incogni Saves Me Time
6:32 - Part 2 Rec...

ā–¶ Play video
olive sable
#

chatgpt says that ive reached the limit of messages, and then i press retry and it just talks about something completely diffrent

#

time to use gemini

hoary lion
#

how about claude-chan

olive sable
#

idk

#

never used it before

hoary lion
#

its better

#

worth the money

olive sable
#

money?

#

i aint paying for all that

hoary lion
#

well tbf i dont pay either

rigid snow
#

claude is great if you're not the one paying

hoary lion
#

cause max is like the

#

baseline

opaque wharf
#

That is true for anything in general

#

Free stuff = good

rigid snow
#

there are things that are great even if you're paying

hoary lion
#

well just like that one word "some animals are more rightful than others", claude is much better not paying all that dollar bills

#

i forgor the quote tho

rigid snow
#

very overpriced

hoary lion
#

the normal subscription aint worth the money

#

too small quota

rigid snow
#

bless openrouter

#

vedalNo vendor lock in

#

and nowadays ai subscriptions are a scam

hoary lion
#

the max is worth it

#

when you have a team

#

that could milk opus tokens

#

pretty sure we had to use like 10 grands if it weren't max

rigid snow
#

have they not changed things? i swear i heard they have

#

either the limits or the pricing

hoary lion
#

not yet

#

next month afaik

#

a totally humble usage

#

can't believe how someone manages to use that much with sonnet

rigid snow
opaque wharf
#

Depending on the app complexity, hiring a competent dev would be cheaper lmao

hoary lion
#

fortunately that is an estimated price based on token usage so

#

max clutches in again

#

with 200$ I can use 2k neuroHypers

olive sable
#

i gipe up on trying to use webgpu

hoary lion
olive sable
#

the web plebians will need to be happy with webgl for now

opaque wharf
#

It is a new API after all

olive sable
#

it works fine on local, but that is exaclty the place where i can use vulkan

#

and vulkan outperforms webgpu

urban tangle
#

just got a used 3060 for 100 dollars, bout to test how much better it can run LLMs compared to my rx 6600

opaque wharf
#

LMAO, the problem in the video is about border between Belgium and Netherlands

opaque wharf
#

And I have to ask, why tf did a country have a border fully enclosed in another country evilWheeze

opaque wharf
olive sable
olive sable
#

the beautiful belgian city of Baarle KEKW

prime ridge
#

Average Welch labs chad

olive sable
#
 The nationality of the inhabitants is determined by the position of the front door. A story tells that a Belgian displaced his front door to avoid getting Dutch nationality.
prime ridge
#

Why are so many weird math problems based around either Netherlands or Belgium šŸ˜‚

olive sable
prime ridge
#

dikstras or however u spell it

olive sable
#

altho nobody likes to admit it, we are kinda the center of europe

rigid snow
#

it’s not like a thing that happened once

opaque wharf
#

I guess it's hard to have enclave when you are an island nation huh

prime ridge
#

All countries in Europe get along super well with eachother šŸ˜„ glueless

torpid coral
#

Hello, can someone recommend some theoretical materials for studying neural networks? I'm trying to get into it gradually and... even something comes out, but I want to be confident in my knowledge and have some kind of "support" in case of something

rigid snow
#

ai will finally be useful when i’ll be able to give it a topic and it’ll generate a 20 minute manim video essay to fall asleep to

#

that has to be possible already

opaque wharf
#

Real and true

gritty dust
#

CRAP I cant spell

olive sable
gritty dust
#

belgium

#

FRICK

opaque wharf
#

Where have you been? neurOMEGALUL

olive sable
#

i am from belgium yes

opaque wharf
gritty dust
opaque wharf
gritty dust
opaque wharf
#

Both of that channel will have further reading material in the video description

#

Welch Lab older videos even have self study material

torpid coral
#

I see 3B1B, good videos

#

Thanks again

opaque wharf
#

Sure, you're welcome

rigid snow
olive sable
#

yall are gonna hate me for this

opaque wharf
#

But honestly, not the worst

#

I've seen worse catdespair

olive sable
#

i cant use that for the #ifdefs in global tho, and i want consistency

#

so ill probably remove them

#

im done witht his shit for now tho

#

ill continue with the vulkan vertex buffer stuff in an hour or 4

hoary lion
#

ooh

#

welch labs post

iron dirge
#

I made a stupid browser game a while back and now there's a chance someone may play it I originally made it on mobile so I had to double check that PC controls actually work. In checking for some reason the mouse wouldn't show up on screen so I added a custom mouse pointer. (Luckily I was still able to understand how everything was set up) But somehow that fixed the pointer not being visible. It's always confusing when software suddenly decides it's not actually logical.

midnight sigil
hoary lion
olive sable
#

aight i finished binging overloard

#

now i can finaly get to the movie

opaque wharf
#

That's rare for you to not trying to finish the game engine neuroTroll

olive sable
#

i got a bit demotivated after seeing i had to use yet another graphics api if i wanted vulkan-like performance in browser

#

but ive decided to put webgpu on the backburner

hoary lion
amber fractal
#

I know I'm late but I'm surprised OpenAI could count to 5

opaque sigil
dire trout
#

I completely fucked up the programming exms

#

fuck

#

my mind blanked out

#

on everything

#

I'm fucked

opaque wharf
#

Here have a cat

amber fractal
#

Cat

dire trout
#

I don't understand

#

I did extremely well in creating like 3 different programs with the same concept during practice

#

and now I fuck up

olive sable
opaque wharf
#

It happens

olive sable
#

you gotta think positivly

dire trout
#

the issue is not 'oh I forgot a certain function' it's 'oh fuck I forgot a entire fucking concept'

#

that's what I'm frustrated about

nocturne olive
opaque wharf
dire trout
opaque sigil
#

Damn I wish exams were only 25% of my grade

dire trout
#

I know it's not a big deal but the thing I want needs to have a high mark

olive sable
#

10/10

olive sable
midnight sigil
#

I don't think savage should appear here

nocturne olive
#

Apparently my remote audio latency is about 3s, particularly silly

true hemlock
#

r/hardwaregore