#programming

1 messages · Page 123 of 1

fast pagoda
#

oh yeah rip

#

sama believes it's the best performing "open" model in the world tho dont worry

uneven pulsar
#

i don’t know why and i don’t want to know why but i ain’t touching gui again

fast pagoda
#

just generate some fligma and feed it to copilot dawg that's what the pros do these days according to them

uneven pulsar
#

you do have a pointneuroAware

noble zodiac
#

@faint sandal is there any validity to this HTTP/1.1 desync nonsense I've been annoyed with for weeks or is PR for more funding?

faint sandal
#

what

#

context hat

noble zodiac
#

Some def con talk about a HTTP smuggling vuln in some CDN provider but its worded as if HTTP/1.1 itself has a critical fault which I doubt

#

I hate this trend of researches clickbaiting and making a huge fuss about some relatively minor stuff

noble zodiac
#

dont get me wrong, I get why they have to do it but I hate it still

rigid snow
faint sandal
#

i'll be honest i don't know a lot about it

#

and i'm more inclined to believe portswigger and defcon + black hat USA reviewboard

#

the reviewboards for both are notoriously difficult to get past if your talk isn't of enough substance and strong evidence

#

i'd know because i've been rejected thrice

noble zodiac
#

I believe them that they got access to a major CDN but I think its something very specific to them and not an inherit problem of the protocol

rough bloom
#

so maybe they found some issue with the HTTP spec that exacerbates this niuh

small anvil
#

had a bit of trouble getting deserialization to work, apparently i was attempting to access buffers that were destroyed out of scope NeuroPossessed

amber fractal
#

OpenAI surely should have realized that their model quite literally sucks compared to any model released in the last year right?

glass flower
#

glueless surely they know

rough bloom
#

wdym, the benchmarks look great! glueless

amber fractal
#

(Ofc this is about GPT-oss)

glass flower
#

atleast the speed for the 20b model on ollama is fine now. (still takes wayyy too much vram)

fast pagoda
#

modified my fstab i'm sure this reboot will go flawlessly

#

every time i do this i fuck it up somehow

sage crag
fast pagoda
#

the benchmarks cannot capture the vibez properly

faint sandal
rough bloom
#

it automatically opens on startup now evilDIESOFCRINGE

faint sandal
#

time to switch to vscodium deadge

fast pagoda
#

that'll definitely get rid of it

uneven pulsar
#

like i am trying to hash map a dict key inside of for loop of a dict key so the api appends the user password key

fast pagoda
#

it builds fast

uneven pulsar
#

i sometimes forget my own code

faint sandal
#

i'm falling asleep writing reports

fast pagoda
#

rand some ultra random series of commands on my laptop that i just tossed fedora 42 on

#

to get nvidia drivers working right

#

and rebooted

#

that shit worked

#

that's crazy

#

it was some guy saying it worked for him on fedora 39

#

yolo just worked

jagged turtle
#

why is it so squished

fast pagoda
#

made it as smal as could

#

neeeeever really thought about it but cronjob syntax isnt particularly exciting when it's describing a full time in like a clock syntax

#

like 50 4 6 8 3 was a few seconds ago and that's just

#

numbers

sharp sierra
#

ihate luau and luau hates me.

cobalt sigil
#

bro decided to support chromeOS but not win11 smh smh

#

all kins

opaque sigil
rigid snow
#

Compatible with all kins of motherboard Dos of CPU.

opaque sigil
#

I really like the QC pass sticker

opaque wharf
#

Wake me when it's F day

sage crag
opaque wharf
#

Only 4 more days no?

#

No, even less

sage crag
#

human dont sleep 4 day

opaque wharf
#

I am not human enub

sage crag
opaque wharf
#

I am an uncomputable function enub

sage crag
south needle
#

finally my 11 TB (10.5 Years) of audio data is done processing now I can finally start training a model with it :)

desert plaza
olive sable
#

Gooood morning

opaque wharf
desert plaza
#

altered function

olive sable
#

Today the plan is to watch the ado 1st live bluray and play poker jah

tender river
opaque wharf
#

Meanwhile my battery:
Charge Full Design - 4351000
Charge Full - 4795000

south needle
sage crag
south needle
#

sounds resonable for battery saver

sage crag
#

no it doesnt neuroCry

south needle
#

mine is at 59% and its not charging anymore

sage crag
#

psychotic battery saver

#

there are diminishing returns for reducing it

#

well, each to their own

#

note that you have different status though

#

Full vs Not Charging

opaque wharf
sage crag
south needle
#

you dont want lipo in your laptop

sage crag
#

in general

#

but its cheap!

south needle
#

and lightweight, making it perfect for drone bombs

#

and drones in general

opaque wharf
#

60% for prolonged use with charger

opaque wharf
#

What is wrong with my internet neuroCry

#

Can you guys actually read my message?

desert plaza
#

yes

#

unless i can't see it neuroGlorp

opaque wharf
#

Yeah, I sent that minutes ago neuroCry

sage crag
#

typically bad for long term power storage, and also has a worse lifetime under repeated cycles

#

bwa

tender river
tender river
desert plaza
#

how come linux brk is different from libc brk neuroGlorp

tender river
#

i think the brk syscall is deprecated

#

libc probably implements it using mmap

desert plaza
#

i don't think so

#

brk gets called when i compile with libc

#

i see it in strace

tender river
#

okay brk is not in posix

desert plaza
desert plaza
#

well, linux has a brk syscall which differ in behavior from the brk and sbrk on man page

#

compiling this with gcc uses brk at the beginning and end of program execution ```c
#include<stdlib.h>

int main(void) {
char* c = malloc(64);
free(c);
return 0;
}

#

i was wondering how i would allocate memory with just linux syscalls, no libc

tender river
#

you would typically use mmap

#

set fd to -1 and pass MAP_ANONYMOUS

desert plaza
tender river
#

the issue is of course that you have to allocate something divisible by page size

#

but its easier than requesting a heap and manually allocating memory from that pool

desert plaza
#

also, i wanna be able to see all allocated memory

tender river
#

mm maybe /proc/self/maps?

desert plaza
#

ugh, why does linux use text files for that

tender river
#

its linux cupsama

faint sandal
#

the anti debug I've seen on Linux is so funny because of that

#

I was like why is it looking for the word "racer" in /proc/self/status

desert plaza
#

i wish i could find reliable documentation about how linux works

desert plaza
tender river
#

also a lot of parts of linux are undocumented so just read the source code

desert plaza
#

i don't wannaa

tender river
#

you dont have to read linux's source code

#

reading other people's code that achieves the goals you want works just as well evilLightbulbJuice

desert plaza
#

i don't like reading source code, why do you think i'm writing in machine code neuroGlorp

tender river
desert plaza
#

i wish linux docs were like intel docs

opaque wharf
#

I bet intel also has a lot of undocumented feature

desert plaza
#

well, at least the features i need are documented

sage crag
tender river
#

true! but its recommended

sage crag
#

yeh

opaque wharf
#

Honesty, the mov is cursed since it is turing complete

desert plaza
sage crag
tender river
#

thats where you git clone linux

#

good luck

desert plaza
tender river
sage crag
#

here's how it was implemented in an older version of lily

$sys_mmap := 0x9
$prot_read := 0x1
$prot_write := 0x2
$map_private := 0x2
$map_anonymous := 0x20
$map_failed: ^u8 = @bit_cast(~0)
$alloc := fn(len: uint): ?^u8 {
    ptr: ^u8 = @syscall(sys_mmap, 0, len, prot_read | prot_write, map_private | map_anonymous, ~0, 0)
    $if config.optimise < .ReleaseFast {
        if ptr == map_failed return null
    }
    return ptr
}
tender river
#

what the hell is this i'm scared but i don't have the time to look into it

#

i found some msrs but this doesnt seem to be it

faint sandal
#

which yes, is a VMware thing than Intel but still

desert plaza
#
See Chapter 20,
“Input/Output,” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1, for more infor-
mation on accessing I/O ports in the I/O address space.```
faint sandal
#

yuh it just writes to the io

maiden geyser
sage crag
#

at least you can read linux src code

#

i love port io

#

we use this all the time in osdev and its really fun and i love it

#

mhm

#

its really nice that x86_64 uses port io and both risc and arm use mmio

#

mhm

desert plaza
#

uh, what is this supposed to mean void addr[.length]

sage crag
#

context?

desert plaza
#

in ```c
void *mmap(void addr[.length], size_t length, int prot, int flags,
int fd, off_t offset);

#

on mmap man page

sage crag
#

modern c

desert plaza
#

Erm ?

sage crag
#

it implies to the compiler that the memory region at addr is at least length bytes

desert plaza
#

ah

sage crag
#

im pretty sure its just mman

desert plaza
#

what

sage crag
#

try compiling it

desert plaza
#

y'know, i really just need to know what number to put in ebx

sage crag
#

give me a minute

desert plaza
#

i can probably just put null

#

hm

sage crag
opaque sigil
#

i got excited seeing cuda 13 existing but cuda-gdb is still broken on wsl2 neuroSadge

sage crag
#

@syscall(sys_mmap, 0, len, prot_read | prot_write, map_private | map_anonymous, ~0, 0)

sage crag
#

tis correct for allocating memory

desert plaza
#

aight neuro7

opaque wharf
sage crag
#

nix on hardware

opaque sigil
#

getting there

sage crag
#

1-phenyldodecane

opaque sigil
#

Also another glibc release, another patch needed for the cuda toolkit neuroPogHD

sage crag
#

i miss static linking

opaque wharf
#

You wanted to have what happens now at rust?

opaque sigil
#

Honestly yes

opaque wharf
#

I think having something like windows .dll is nicer

sage crag
sage crag
#

all hblang programs have been statically linked and even the ones with hashmaps and formatters are smaller than glibc hello world

#

even though glibc hello world is dynamically linked

sage crag
#

i rebuilt the standard library for this

#
# .cargo/config.toml
[build]
rustflags = ["-Zlocation-detail=none", "-Zfmt-debug=none"]

[unstable]
build-std=["std","panic_abort"]
build-std-features=["optimize_for_size","panic_immediate_abort"]
# Cargo.toml
[profile.release]
strip = true
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
tender river
#

if theres a security issue in a dependency you can just swap it out for a patched version

#

without even recompiling anything

sage crag
#

but its not great for portability evilBwaa

tender river
#

it requires an abstraction boundary and abstraction boundaries are all about indirection and late binding

#

and if you have generics you essentially have to make the dynamic linker bundle an entire compiler

#

or use boxed objects everywhere

#

not ideal vedalBwaa

sage crag
desert plaza
sage crag
#

surely not

#

why

#

bwaa

desert plaza
#

sending screenshot

#

gimme a bec

sage crag
desert plaza
#

no

tender river
#

it makes sense because it calls the dynamic linker

#

and the dynamic linker has to do a lot

sage crag
#

try statically linking

tender river
#

musl

sage crag
sage crag
tender river
sage crag
#

probably less with flto

tender river
#

i have not

sage crag
#

probably much less with the tuned for size options i use in the lily build script

sage crag
desert plaza
sage crag
#

works on my machine™

sage crag
tender river
#

/lib64/ld-linux-x86-64.so.2

sage crag
#

i wonder why they use brk and mmap

#

brk is surely outdated

tender river
#

mmap is obvious, its for mapping the file into memory at the correct addresses

#

brk is less obvious but probably used internally for allocation

#

since the dynamic linker has to keep some intermediate data

sage crag
#

but they can use mmap for that

#

perhaps its a microoptimisation or for portability

tender river
#

its a program written in the stone age

sage crag
#

seems more likely

#

well, brk here does look like a faster call

desert plaza
sage crag
#

though they are probably doing different things, so cant draw any conclusion

sage crag
#

beginning sure

#

what do they need brk for at the end

tender river
#

fini

desert plaza
#

wait nvm

sage crag
desert plaza
#

i'm thinking of a different program

sage crag
tender river
#

this is the entire file

sage crag
#

who is we and why do they know that the __curbrk is not exported from ld.so

tender river
#

looks like glibc falls back to mmap

sage crag
noble zodiac
#

40 years of technical debt does things to a codebase

sage crag
#

ill bet that it was written without mmap

sage crag
#

but they didnt replace the whole thing to avoid breaking userspace

maiden geyser
tender river
#

they are committing war crimes in there

sage crag
#

it makes me feel less bad about my code

tender river
#

its legacy but its the kind of legacy code that somehow works and is potentially better than alternatives just heaps more complicated

desert plaza
noble zodiac
#

You underestimate how much of very elemental mechanisms are just guess work. It should behave in a certain way but someone somewhere in the last 50 years did it differently and you have to drag that shit along

desert plaza
#

i don't think i know how to use nixos

sage crag
#

rather than yours

tender river
tender river
sage crag
#

great binary

#

i get that modern compilers add NOPs for alignment purposes, but it peeves me

#
1e82:       0f 1f 00                nopl   (%rax)
    1e85:       66 66 2e 0f 1f 84 00    data16 cs nopw 0x0(%rax,%rax,1)

:ReallyMad:

tender river
#

90 90 90 90 90 90 90 90

sage crag
#

bwaleaf

tender river
#

today i'll be installing windows on a jet engine

sage crag
#

why it get larger when i build for musl

#

bwa

tender river
#

musl itself is smaller but individual functions may be larger evilShrug

sage crag
#

i dont trust it

#

bwa

#

30040 bytes

#

evil

#
2424:       48 89 05 1d 4f 00 00    mov    %rax,0x4f1d(%rip)        # 7348 <_ZN3std3sys3pal4unix14stac
k_overflow3imp13MAIN_ALTSTACK17hbfc09eed90bace91E.0>

:mhm:

#

mangled functions

tender river
#

itanium

#

ther should be a command line flag to demangle it maybe

sage crag
#

i saw a movups in there

tender river
sage crag
#

im not wasting my time analysing a rust binary

#

it looks like sadness

#

i just saw movzwl

#

and movups and movaps

#

cmove

tender river
#

the compiler paid for the entire instruction set, it's going to use the entire instruction set

sage crag
#

nopw

#

if you didnt have enough fun with nop, here is nop for word

#

excuse me

noble zodiac
#

nop is the most relatable instruction

desert plaza
sage crag
#
2c4b:       f0 0f b1 0d c5 46 00    lock cmpxchg %ecx,0x46c5(%rip)        # 7318 <_ZN3std3sys3pal4unix14stack_overflow11thread_info4LOCK17hd28eda68fd74036cE>

why are we doing atomics and threads in hello world

#

stop it

#

threadinfo

#

bwa

#
2cfa:       f0 48 0f b1 0d 0d 46    lock cmpxchg %rcx,0x460d(%rip)        # 7310 <_ZN3std6thread8ThreadId3new7COUNTER17ha657e37bd8dd76c1E>
tender river
sage crag
#

the binary is too large and too filled with ud2 for anything to happen

#

i give hblang's codegen too much flak

#

zig made the right choice abandoning clang evilWAJAJA

#

i dont think this is clang's fault though to be fair

#

probably rust's llvm IR generation

tender river
#

i think long prologues and epilogues are usually various exception/unwind handlers?

#

plus a bit of boring initialization like parsing the env vars and command line

sage crag
#

why are we locking stdout so much i only printed hello wlrd

tender river
#

in case of rust it also ensures you can println from multiple threads which requires atomics

sage crag
#

i cant really blame rust for handling multithreading behaviour by default in println

#

but also bwa

sage crag
tender river
#

agreed its too branch heavy

sage crag
#

i literally turned off all panic handlers and formatters

tender river
#

it should be a simple lock + loop + unlock

sage crag
#

just lock once and write the string you doofus compiler

tender river
#

can you try manually calling std::io::stdout().write_all("a") or whatever it is

sage crag
#

5s

noble zodiac
#

I assume they have some good reasons for it

tender river
sage crag
tender river
#

to avoid too may syscalls

#

so its buffering in addition to locking in addition to inlining i guess

desert plaza
#

great

sage crag
#
use std::io::Write;

fn main() {
    _ = std::io::stdout().write_all(b"Hello, World!");
}
sage crag
#

insert each character as a leaf of a btree

#

pop each leaf

#

genius

#

binary went from 19000 to 28000

#

why

#

i should just write a #![no_std] #![no_main] binary and define _start myself

#

i guess its unsurprising the println macro is going to generate smaller code than writing directly to stdout

#

rust's io has a lot of machinery

tender river
#

this is better

sage crag
#

why in tf is it doing btree stuff though neuroCry

sage crag
#

nice

#

looks like we are still btreeing it up

tender river
#

this is actually part of rust's memory safety guarantees

#

your software will be more secure if reverse engineers will cry looking at the assembly

simple goblet
#

hey if you guys dont mind me asking what is this mostly for?

simple goblet
# sage crag

i know that but what are guys talking abour rn?

sage crag
tender river
simple goblet
simple goblet
sage crag
#

om

#

no

tender river
#

you can write it in an easier way, we're just trying to minimize binary size

sage crag
desert plaza
rigid snow
simple goblet
noble zodiac
sage crag
#

macro

#

specifically macro rules

rigid snow
#

why does printing need a macro glueless

sage crag
#

arbitrary formatting args

tender river
rigid snow
#

you guys are not real istg

tender river
#

idris does it good job idris nyaroPat

sage crag
noble zodiac
#

format macros are a nightmare

tender river
#

i am definite and real

sage crag
#

me when im gumi vocaloid and i sing ECHO by Crusher

rigid snow
#

you are llms

#

all of you

sage crag
#

som

simple goblet
#

we are all just ai

opaque wharf
#

Man I need to sleep

rigid snow
opaque wharf
#

See you guys in 4-6 hour

sage crag
sage crag
tender river
noble zodiac
#

no, I mean that I dont want to implement it

sage crag
#

macros are vile to write

tender river
#

and to use neuroPogHD

sage crag
#

fun to use except when you need to debug their generated code

noble zodiac
#

(except in lisp)

#

but lisp macros are just better

sage crag
#

lisp macros are just lisp

rigid snow
#

what is a macro glueless

sage crag
tender river
#

macros have similar problems to optimizers, they erase some info during translation

sage crag
rigid snow
tender river
#

which makes error reporting hard

sage crag
#

bubles

simple goblet
#

what is even gogin on rn

sage crag
rigid snow
# sage crag

these bubles have a stupid mirrored hdri in them

#

immersion ruined literally unplayable

sage crag
simple goblet
desert plaza
#

nice, i can now return 0 with a 16KB statically linked executable

sage crag
#

mhm

sage crag
#

give me a second

desert plaza
desert plaza
sage crag
#

try
musl-gcc -Oz -static -o test.o test.c
clang -fuse-ld="gold" test.o test -static -Wl,--gc-sections,--build-id=none,--as-needed,--icf=all,-N -s
objcopy --strip-section-headers test

#

yeah

#

this will work first try

#

surely

desert plaza
#

surely

tender river
#

ereader update: suspend didnt work but i decided i'm fine with just turning it off when i dont use it

#

someone will magically decide to fix it some day glueless

sage crag
#

the good ol "i cant fix it so i give up and wait"

tender river
#

well, it technically did work, but it stops receiving touch input

desert plaza
sage crag
#

erm

#

switch gold for lld

desert plaza
#
clang: error: invalid linker name in argument '-fuse-ld=lld'
sage crag
#

er

#

you dont have lld installed

#

ok just remove -fuse-ld=lld entirely

desert plaza
sage crag
#

its using ld

#

so icf=all doesnt exist

#

nice

#

gotta remove that one too

desert plaza
#

mhm yeah

sage crag
#

nice

#

linkers

#

i love linkers

desert plaza
#

i love linkers

sage crag
#

thats why i have this all in the thingy

hoary lion
#

morn

sage crag
#

ing

hoary lion
desert plaza
#

it's crazy to me that a c program which only exits with status code 0 is at least 16KB neuroGlorp

tender river
#

4 pages

desert plaza
#

4 pages

#

Erm what

sage crag
#

memory

desert plaza
#

ok

sage crag
#

also i had it at a much more modest 4kb when i did the testing myself

tender river
#

you can pass -nostdlib

#

but then you have to write a _start that calls the syscalls

sage crag
#

this is good advertisement for hblang

#

hblang return 0 is about 120 bytes

tender river
desert plaza
sage crag
sage crag
desert plaza
#

yuh, it's best neuroGlorp

sage crag
#

its silly

desert plaza
#

nuh uh neuroGlorp

tender river
#

when doing advent of code i've had the most fun with prolog

sage crag
#

aoc in hblang

tender river
#

too easy

sage crag
#

probably

tender river
#

i want to learn scala it has cool concepts

#

but i dont have a use for apps running on jvm vedalBwaa

#

maybe i should write erf in scala erf

olive mango
tender river
olive mango
sage crag
#

my

#

pc cant resolve any domains

#

i wonder if updating systemd took down resolvd ReallyInnocent

tender river
#

resolved evilDeadge

#

i dont use it i like using my router's dns as is

sage crag
#

do you use pihole

#

i dont

tender river
#

i use unbound

sage crag
#

i see

#

i use nextdns because im lazy

tender river
#

with a custom module for storing russian domains' ips in my routing table so they bypass the vpn

sage crag
tender river
#

i wish i could just scan client hellos and do it on a connection basis but i dont wanna write kernel modules

#

so this is the easiest way (even if cdns sometimes break it)

#

i dont do any dns filtering though evilLightbulbJuice

#

since all of my devices run nixos theres no ads to block

tender river
#

by the way you can run unbound on any device, doesnt have to be your router

#

at some point i ran it on my server instead

desert plaza
#

terminal keeps crashing, need to get off gnome despair

tender river
#

you dont have to

#

you can just install foot

#

and use it instead of gnome-terminal

desert plaza
#

oh

#

yeah

tender river
desert plaza
#

i could do that

sage crag
rigid snow
#

caught

tender river
#

i use kitty neuroNyan

desert plaza
#

foot has been installed

tender river
#

i might switch

desert plaza
rigid snow
#

and you already have head

cosmic sphinx
#

@sick owl unsloth should be ok now, ima test what ig atm

sick owl
#

They also fixed the recommended parameters

desert plaza
rigid snow
#

i was referring to head the binary that you have installed already

cosmic sphinx
desert plaza
#

i do have that

#

how did you know

cosmic sphinx
#

it still noms my RAM so much damn

rigid snow
#

unix or somethign

sick owl
cosmic sphinx
#

they released more quants so maybe I should try those instead

sick owl
#

It seems to me that something's still buggered because I just saw it make a typo neurOMEGALUL

rigid snow
tender river
# tender river i might switch

oh ghostty uses gtk... i'm not sure whether i dislike the python dependency of kitty or the gtk dependency of ghostty more

rigid snow
#

gimp toolkit

cosmic sphinx
tender river
#

gnu's not unix image manipulation program toolkit

sick owl
rigid snow
#

ghostty does not depend on gtk on macos, skill ecosystem issue

tender river
#

how does it work then vedalBwaa

sick owl
rigid snow
# tender river how does it work then <:vedalBwaa:1266819768468377710>

Ghostty is a cross-platform terminal emulator but we don't aim for a least-common-denominator experience. There is a large, shared core written in Zig but we do a lot of platform-native things:

  • The macOS app is a true SwiftUI-based application with all the things you would expect such as real windowing, menu bars, a settings GUI, etc.
  • macOS uses a true Metal renderer with CoreText for font discovery.
  • The Linux app is built with GTK.
cosmic sphinx
desert plaza
tender river
#

home-manager programs.foot newero

rigid snow
desert plaza
tender river
#

its ~/.config/foot/foot.ini, probably

rough bloom
tender river
desert plaza
tender river
rigid snow
#

from an issue about the ios build crashing:

iOS isn't an important target for us but I like to keep it working so that libghostty remains iOS compatible.

#

absolute psychos

cosmic sphinx
#

@sick owl is there a way to change the reasoning effort on the unsloth gpt-oss like on the og

sick owl
tender river
#

okay since i dislike python and gtk dependencies equally kitty wins because of the name case closed

#

i might revisit it in the future

rigid snow
cosmic sphinx
sick owl
cosmic sphinx
#

no

sick owl
#

That'll be why neurOMEGALUL

#

Hang on lemme get you my launch command

cosmic sphinx
#

Experimental

sick owl
#

llama-server -hf unsloth/gpt-oss-20b-GGUF:F16 -c 131072 -fa --temp 1.00 --min-p 0.00 --top-k 0 --top-p 1.0 --repeat-last-n 0 --repeat-penalty 1.00 -ngl 99 --jinja --mlock --reasoning-format none

sick owl
#

Obviously you may want to edit context since you have less vram to play with

cosmic sphinx
#

its already at the reccomended 16k

#

going any lower makes this model absolutely useless for me

sick owl
#

You want more than 16k for these models

cosmic sphinx
sick owl
#

It'll fit, trust me

cosmic sphinx
#

it'll fit, but seeing 98% on my 'memory' aint gonna make 🥶

#

even the q8 which should ideally fit on my gpu alone with the full memory, somehow still takes up RAM

sick owl
#

You shouldn't be using Q8 for this model

#

Use F16

cosmic sphinx
#

too large

sick owl
# sick owl Use F16

Also bear in mind flash attention massively reduces the size of the context cache

#

If you're running without it you're not seeing the true memory usage of the model under ideal circumstances

warped narwhal
sick owl
#

Its not too large

cosmic sphinx
sick owl
cosmic sphinx
#

yes

sick owl
#

That's a 16GB VRAM card

cosmic sphinx
#

and im using 23/24 layers

warped narwhal
sick owl
#

And at the very least fit a minimum of 32768 tokens

cosmic sphinx
#

how is it already full

#

the gpu mem

sick owl
#

Like I said, enable flash attention with -fa

nocturne olive
cosmic sphinx
#

i toggled it on

sick owl
#

And your context is at?

nocturne olive
#

What size of model even is this?

tender river
sick owl
nocturne olive
#

What quant?

sick owl
#

But something is clearly wrong because I can fit that model in 18 gigs max of vram at F16 131075 tokens of context

cosmic sphinx
#

ok im not clocking whats wrong here

sick owl
nocturne olive
cosmic sphinx
#

thats a 4090

nocturne olive
sick owl
sick owl
#

But the output and embedding layers are FP16

#

GPT OSS is weird

nocturne olive
#

Explains why there's some weirdness with the model size

#

But either way, I always go Q4 when trying a model

cosmic sphinx
#

its not a FP16 infact

sick owl
#

So I wouldn't quantize further personally

#

Its already plenty small and fast

sick owl
desert plaza
nocturne olive
#

Weird models indeed
Well, luckily I have no reason to use them

tender river
desert plaza
desert plaza
cosmic sphinx
#

tldr 4080 sucks for local models

sick owl
#

Like I said with flash attention this should easily fit and run pretty damn fast

tender river
desert plaza
sick owl
#

I used to have a 4080 super with the exact same amount of vram so I'm more than familiar

desert plaza
#

gnome console was better in that way

sick owl
cosmic sphinx
#

in lm studio?

sick owl
#

In llama.cpp

cosmic sphinx
sick owl
#

You can just unzip the latest github release then run the command from a batch file or command prompt window in the same folder

#

Download the non cudarts CUDA 12 labelled zip file from releases

tender river
#

and it looks fine to me

#

but i only use foot on my phone

#

i use kitty on my laptop

#

kitty also has a very small margin

desert plaza
#

so, hypothetically

tender river
#

if you like wasted space you can try sway with gaps

desert plaza
#

could i write a terminal emulator in my programming style neuroGlorp

tender river
#

you could, but not in asm

#

modern software is complicated

#

theres a reason we built a tower of abstractions on top of everything

cosmic sphinx
sick owl
sick owl
#

Or that if you're especially unlucky but that's not the end of the world

desert plaza
#

surely i must be able to create a window in machine code

sick owl
#

Just remove mlock from the command if you're worried

tender river
#

heh

desert plaza
tender river
#

no its a statement of fact

desert plaza
#

hmm

sick owl
#

WAUT

tender river
#

you could do a simple x terminal probably

sick owl
#

WAIT

#

WAIT

#

OH MY GOD

tender river
#

definitely not wayland cupsama

sick owl
#

@cosmic sphinx DO YOU HAVE A LAPTOP 4080

#

ITS ALL MAKING SENSE NOW

cosmic sphinx
#

no

sick owl
#

Oh nvm lol

opaque sigil
#

writing a terminal in assembly does sound like pure horror i can't lie

sick owl
#

I was gonna say the laptop one has 12gb vram

cosmic sphinx
#

blud it literally

sick owl
#

But yeah you're safe to run it, remove mlock if you're worried about the program or your PC crashing

#

That way if it doesn't fit it'll just spill into swap and you can close the program

cosmic sphinx
#

wouldnt I need to download the model AGAIN

#

ion have bf16 instaled

desert plaza
cosmic sphinx
#

and it'd be easier to run speed experiments with the q8 that ig rn

desert plaza
#

writing hex representation of machine code and converting to binary

#

with xxd

opaque sigil
#

so you wanna be a human assembler? neuroPogHD

desert plaza
#

so i already kinda am

sick owl
#

And at least this version won't exhibit weird behaviour to the same degree

#

llama.cpp is open source and much more reliable than lmstudio in my experience

#

And the BF16/F16 ggufs are gonna be way less buggered than the weird Q8 version you're currently on

desert plaza
#

time to put "terminal emulator hand-written in x86 machine language" onto my todo list

sick owl
#

Seems like the F16 on the huggingface link points to bf16 in the repo so I guess that's what you're getting

#

Shouldn't matter either way though

desert plaza
#

hence the mmap experimentation

#

need memory for compiler neuroGlorp

sick owl
#

This is how much GPU memory that setup uses at 128k context @cosmic sphinx

#

Drop that down to 32k and I guarantee it'll comfortably fit

cosmic sphinx
#

can probably run

sick owl
cosmic sphinx
#

even q8 might be overweight

sick owl
#

Start at 16384 like you were before if you're worried

#

I guarantee you won't run out of memory at F16 with 16k context using that launch command

#

llama-server -hf unsloth/gpt-oss-20b-GGUF:F16 -c 16384 -fa --temp 1.00 --min-p 0.00 --top-k 0 --top-p 1.0 --repeat-last-n 0 --repeat-penalty 1.00 -ngl 99 --jinja --mlock --reasoning-format none

#

Here you go, a 16k context version

cosmic sphinx
#

where is it gonna download the model

sick owl
cosmic sphinx
#

ion need that on C drive

sick owl
#

Just replace -hf unsloth blah blah blah with -m pathtofile.gguf

#

I'm running it that way

#

I recommend Bf16 if you download it manually

cosmic sphinx
#

gotta add llama-server to PATH holdon

nocturne olive
#

Or you could, run it in the terminal from the folder

sick owl
#

Or run it as a command from command prompt with the folder mounted

#

Wot superbox said

#

cd C:\pathtollama.cpp

#

Then run it

cosmic sphinx
#

hold on lemme run into 220 more problems rq

olive sable
#

hello

#

i am here

opaque sigil
#

hello here

rough bloom
#

EvilNotL I was too slow

sick owl
olive sable
sick owl
#

If so close it, I think it also hosts on that port if I remember correctly

cosmic sphinx
#

pretty sure I shut it down just now and tried again

sick owl
#

You can use these commands to find the ID of the process using the port and kill it

#

netstat -aon | findstr ":8080"

#

taskkill /PID PROGRAMPROCESSIDHERE /F

olive sable
#

the viewing of the ado bluray with my friends has finished, so now i shall code

sick owl
#

The process ID will be a numeric string like this

tender river
#

first time i've used (physical) windows in years

#

15 minutes and it bsods

sick owl
#

Classic

opaque sigil
tender river
#

it crashed in kbdclass.sys and i was cleaning the keyboard of the laptop that hasnt been booted in years so i assume it couldnt handle the repeated keypresses

opaque sigil
#

damn

uneven pulsar
#

hi guys

sick owl
#

Hi I'm guys neuroWave

desert plaza
olive sable
#

do you need to install the hblang repo to your working directory or is just on the C drive fine?

tender river
#

nonvirtual idk what else to call it wuero

opaque sigil
#

does hblang even run under windows

tender river
#

it doesnt

olive sable
#

what

uneven pulsar
olive sable
#

but you have a windows install guide

uneven pulsar
#

Windows so limiting

opaque sigil
#

wsl time for you

tender river
olive sable
#

wtf is this sabout then?>

tender river
#

the compiler itself runs on windows

#

since its just zig

#

but it cant target windows

olive sable
#

but you cant code it on windows?

#

oh my days

tender river
#

hi vani vedalEvilWave

patent walrus
#

(what's the point of including windows instructions atp)

tender river
#

it can still target hbvm

#

so its still potentially useful

olive sable
#

actually the git clone doesnt even work lmoa

cosmic sphinx
tender river
rough bloom
cosmic sphinx
#

i'll test it at 16k context next, if that also runs fine then i'll probs step up to a bigger quant

opaque sigil
#

that file name is crazy

tender river
#

autogenerated from md headers

opaque sigil
#

ah

tender river
#

committing it allows seeing how compiled code changes between compiler commits

#

though its not necessarily good for repo size

opaque sigil
#

unrelated question

olive sable
#

can i be bothered to use wsl? cuz idk

noble zodiac
rough bloom
opaque sigil
#

does nix copy the entire folder that the system flake lives at into the store

cosmic sphinx
#

:HOLY:

tender river
#

but any nix command that uses flakes copies the flake dir into the local store

opaque sigil
#

even when there's a folder that is not referenced at all?

desert plaza
olive sable
#

can wsl use the windows zig or do i need to install a linux version?

opaque sigil
#

technically yes but install the linux version

olive sable
#

mf

opaque sigil
#

also do yourself a favour and try not to access windows files inside wsl

rough bloom
tender river
#

reading time neurolingSlep

opaque sigil
#

asking cause i have two folders in my dotfiles repo, one for the actual dotfiles and one for the nix config

#

thought about moving the flake files into the root to avoid having to specify the directory but if it's going to copy the other files then uhh yeah no

rough bloom
#

if they're large then yeah don't do that
especially if you're not using a CoW filesystem

cosmic sphinx
#

honestly, why didnt I think of directly downloading the files myself

#

lmstudio is such a netbloat for this

olive sable
rough bloom
#

sir your Git repo is in OneDrive again

olive sable
#

as usual

opaque sigil
olive sable
#

is that the issue here?

opaque sigil
#

no

olive sable
#

well then im staying on onedrive

rough bloom
#

putting it on a WSL path certainly wouldn't hurt

opaque sigil
#

the issue is that your zig thinks you're using a linux file system

#

moving it into one such file system would probably fix it

olive sable
#

hmm

#

aight ok

rough bloom
#

you can put your project files on there but maybe not the compiler

cosmic sphinx
#

@sick owl so, unlike the Q8, the F16 completely gobbles up my memory at 16k context

opaque sigil
#

rule #1 of wsl2, do NOT access files on the windows host if you can avoid it

olive sable
#

i dont know how to open vscode in the wsl directory tho

opaque sigil
#

you can just open the one from windows with the wsl path

#

it'll open in windows and connect to wsl

cosmic sphinx
#

im not even sure why it uses up all the RAM when the VRAM isnt even full

#

and the speed is meh

nocturne olive
cosmic sphinx
#

yeah, lets instead fill up the RAM so it fucking crashes itself 👍

nocturne olive
#

Meanwhile me on Linux with a dual GPU setup with a total of 36GB of VRAM

#

-# And I don't even do LLMs

rough bloom
#

just need that and it should be fine

#

if it's somehow not fine and you're on Win 11 you should also be able to install VS Code inside of WSL but that's a bit inconvenient

olive sable
#

it was already installed

#

im in the ubuntu folfder now and still get the same issue

rough bloom
#

oh, I think I know what it is

#

did you clone with submodules

olive sable
#

i did exactly this

rough bloom
#

you forgor the submodules

#

do this
git submodule update --init --recursive

olive sable
#

idk what the submodules are

#

sure

#

its cloning shit

cosmic sphinx
#

if gpt-oss was this disappointing, ion even wanna talk about GPT-5..

rough bloom
olive sable
rough bloom
#

YEP that

rigid snow
tender river
#

how subtle

rough bloom
# olive sable yep

the file .gitmodules has a line like [submodule "vendored-tests/lily/"]
turn that into [submodule "vendored-tests/lily"] (remove the trailing slash)
then run the submodule command again

olive sable
#

it seems to have worked

#

no "succes" message or anythin, just didnt error

opaque sigil
olive sable
#

its probably fine

tender river
#

success messages are generally not a thing

#

no output and return code 0 = success

olive sable
#

thats sad

#

I need more positive messages in my terminals

rough bloom
#

you can add a success message to your shells prompt if you wish

tender river
#

makes scripts easier to write when you dont have to pipe every single command into dev/null

rough bloom
uneven pulsar
#

the swarm will follow you

tender river
#

obviously its much wider normally

rough bloom
#

I still have the default fish prompt
it has been okay

olive sable
#

maybe the vscode marketplace guide is out of date

#

lemme use the ablecorp site

cosmic sphinx
rough bloom
sick owl
#

Like I said it runs like arse at the moment compared to cpp due to borked memory management

#

Or thats been my experience anyway

cosmic sphinx
#

honestly, cpp gave me a good experience only on q8

#

f16 has been a flop

olive sable
#

@sage crag i cant get the compiler to build bwaadow

olive sable
#

ah

sage crag
#

he hasnt fixed a bug with the submodules yet

rough bloom
#

we patched that up already

olive sable
#

no we didnt

rough bloom
#

yes we did

olive sable
#

it didnt change anything

sage crag
#

this frickin forward slash

#

and then you git submodule update --init --recursive

olive sable
#

hmm

#

oh its doing stuff now

#

i guess i didnt do it properly last time?

sage crag
#

are you doing this on wsl/linux?

olive sable
#

wsl ubuntu yes

sage crag
#

i dont think the compiler has been tested on windows

olive sable
#

i couldnt get it to install on windows anyways. probably due to the same error tho

#

well ive compiled the compiler now, how do you use the compiler?

sage crag
#

well, typically you wouldnt just use it freestanding because that's a bit of a headache

tender river
#

just pass the source file to the compiler and specify the --target flag (you'll probably want x86_64-linux)

#

then link it

sage crag
#

having the compiler installed on your machine is only there for the extension

tender river
#

lily's build script does it all for you

sage crag
#

yeh

tender river
#

but note that it bundles its own version of the compiler in out

#

also you'll still have to set some env vars to build

olive sable
#

uhh

tender river
#

you can just call the compiler manually instead and link with clang or ld or whatever

olive sable
#

and how do you pass stuff the the compiler?

#

what is the command?

sage crag
olive sable
#

i think i might have it in path, i followed the hblang vscode exstension tutorial

rough bloom
#

thank you Common Lisp cookbook, very cool
(this is the whole explanation for that function)

tender river
#

what other info could you possibly need

opaque wharf
olive sable
#

seems to be in path yep

sage crag
#

cool

#

there you go then

olive sable
#

also is zig build test having 19/21 normal?

sage crag
#

yes, test errors if it doesnt match the existing test

#

doesnt matter

olive sable
#

sure

sage crag
#

its a bit of a hassle to compile for x86 without using lily

#

and you wont have stdlib features

#

but if you want to, here's how

olive sable
#

oh so it doesnt compile to x86 normally?

sage crag
#

it does, it's just not automatic

olive sable
#

what is the standart format then?

sage crag
#

well, if you just run hbc main.hb > out you will get an ableos executable

#
// main.hb
main := fn(): i32 {
  return 0
}
``````bash
hbc main.hb --optimizations release --target x86_64-linux > main.o
ld main.o -o main

here's the simplest way of doing it

#

and probably what you want

opaque wharf
sage crag
#

that's intended behaviour

olive sable
#

im sadly not running on ableos

olive sable
opaque wharf
#

Tell me when you have TCP/IP stack on lily. I wanna try to make something neuroPogHD

tender river
sage crag
#

it will just link it to libc

tender river
#

right

#

okay wrong

olive sable
tender river
#

binary, exe is a windows thing

sage crag
tender river
#

mhm

sage crag
#

to be pedantic

olive sable
#

uh

#

sure

#

how do i run it?

sage crag
#

./main

tender river
#

you have to link with clang or gcc rather than ld

#

otherwise it wont link to libc

sage crag
#

ah

#

makes sense

tender river
#

or just zig cc

sage crag
#

zig cc is the easiest way

tender river
#

zig cc -o main main.o

olive sable
#

its dumping its core bwaadow

sage crag
#

use zig cc instead of ld

tender river
olive sable
#

oh i thought that was jsut for using c

patent walrus
#

whens the first game integration in hblang

sage crag
#

both exist

tender river
sage crag
#

ah

#

hell no

#

websockets

tender river
#

tls

patent walrus
tender river
patent walrus
tender river
#

actually not even that hard since i can use syscalls for tcp

#

and since i dont have to support wss