#🪅-progaming

1 messages · Page 46 of 1

supple whale
#

but it very brokey

hoary sluice
#

i wont use it for a thesis i alr wrote and i will use it afterwards

valid jetty
#

lmao im not trying to convince you im like backlogging all the time i lost not using this in the past

formal belfry
ornate quiver
#

woahhhh cooool

valid jetty
#

oh my god FINALLY

#

if you enable japanese mode the english version goes away obviously

#

but finally its themed

formal belfry
#

simple vim like text editor in my kernel : )

neon quarryBOT
dense sand
#

Anyone here uses trpc

formal belfry
cerulean plover
viscid grove
#

IT'S A :HUSK: FROM A SERVER THAT IS EITHER INVITE-ONLY OR UNAVAILABLE. LEARN MORE ABOUT USING CUSTOM EMOJIS.

balmy lintel
#

husk blacklisted

dense sand
#

why is my presence.nvim rpc not showing >:(

valid jetty
supple whale
#

this is cool as shit, but that guy could have made so many cooler things with his time and knowledge

valid jetty
hoary sluice
#

ik

proven summit
#

anyone know how to add a discord reaction using js

valid jetty
#

this wasm runtime lets us run doom and play bad apple and then it will probably die from thereon

dense sand
#

@valid jetty stop baiting me with the avatar decoration

supple whale
#

we need an animate-none plugin

#

we have animate-all but not animate-none

#

:/

placid cape
#

make japanese support for elle

valid jetty
#

lol yeah thats kinda the gimmick

#

its a language made in elle

#

anyway yeah typst is so simple and makes almost perfect sense except the context basically erasing the type of the value and not giving you a way to cast it back

placid cape
valid jetty
#

nope its a project for school

#

the actual compiler part and the japanese part is for fun i could get full marks doing something way easier

#

but this would go well on my portfolio for when i wanna go to japan for university

valid jetty
#

too deep in it now

dense sand
#

i get her

austere anchor
valid jetty
#

not yet

placid cape
deep mulch
#

@valid jetty hiii

valid jetty
#

@deep mulch why do you husk everything

native spruce
#

@woven mesa what do I add to readme

woven mesa
#

cute readme

woven mesa
#

say that keybinds can be rebound

native spruce
#

oki

jade stone
native spruce
#

@woven mesa honestly I can't believe theres apis for this

woven mesa
#

true

#

please change truncation preference to trailing

#

@formal belfry help

#

@native spruce

#

horror cpu usage

native spruce
#

whats happening there

woven mesa
native spruce
#

using webhook for logs

woven mesa
#

@native spruce

#

its this

native spruce
#

funny music tracker

#

does it upload the image

woven mesa
#

unfortunately yea

#

but its the 50x50 thumbnail

#

it also calculates accent color to use for the embed

spark tiger
#

https://youtu.be/Aq_41RD-yYU
this whole situation is so confusing. the extension was pulled down, the developer received a lot of hate but… there isn’t any evidence it was shipping malware??? the only “proof” we got so far is that a “security researcher” literally just pasted the extension name into some virustotal-like site for extensions and it showed “malware!!!!”

Is this Visual Studio Code Theme Stealing your Data?
Official Discord Server - https://discord.gg/cqqWYDdcBn
Learn Reverse Engineering - https://skool.com/ericparker
Follow me on X - https://www.twitter.com/atericparker | atericparker.bksy.social

Disclaimer: The content in this video is for education and entertainment purposes to showcase the d...

▶ Play video
#

but on the other hand why did the developer clear git history, change repo name, delete all issues

#

”a deep analysis”
uses some free website isob

winged mantle
#

surely it would be easy to reverse engineer a vscode extension

supple whale
#

XD

formal belfry
#

that feels so familiar

#

didnt that guy make an issue on zed or something

#

ah yes

#

looks like he tried re uploading it lol

hoary sluice
spark tiger
ornate quiver
#

why is obfuscated code even allowed on the free marketplace

#

braindead decision

dense sand
#

dont use any extensions and you wont have any problems fr

ornate quiver
#

can't find the video right now

hoary sluice
dense sand
#

BABE WAKE UP new 1h theo video dropped!!

#

isnt this like his 4th video on this

#

move on bro 😭

formal belfry
#

lol

balmy lintel
formal belfry
placid cape
placid cape
dense sand
fallen nebula
royal nymph
bitter thistle
#

is this #nerd-talk

still jolt
#

no this is #🪅-progaming ​​​​​​​​​​​​​​​​​​​​​

bitter thistle
#

I do love gaming at average 20 fps blobcatcozy

formal belfry
#

gaming mid

valid jetty
# dense sand BABE WAKE UP new 1h theo video dropped!!

Chapters:

  • 00:00:00 - 1. Intro
  • 00:00:58 - 1.2. Gatekeeper, Gaslighter and Girlbosser
  • 00:03:57 - 1.3. Telemetry in Go
  • 00:05:46 - 1.4. Alternative to Go
  • 00:08:12 - 1.5. Gateleeper Commands
  • 00:11:54 - 1.6. Static vs Dynamic Commands Problem
  • 00:15:01 - 1.7. Custom Scripting Language Bex
  • 00:26:09 - 2. Running Bex Scripts
  • 00:28:02 - 2...
▶ Play video
#

peak youtube

dense sand
valid jetty
#

same

#

it keeps going tho

formal belfry
#

wtf 💀

dense sand
#

the streams are actually pretty entertaining

#

i just put it on second monitor

valid jetty
#

yeah lmao

#

so many of my elle features are inspired by things i see from zozin streams

#

that $scoped thing i made a while ago was entirely taken from c3

dense sand
#

wait can you compile C to wasm

valid jetty
#

through llvm yes

dense sand
#

wait what main is not a native method 😭

#

nor is <init>

#

hop on gdb 😭

valid jetty
#

nowadays the scoped thing would be more complicated because theres multiple allocators so it would look like

fn mem::scoped<T>(T *new_allocator, fn *callback, void *arg) @alias("$scoped") {
    // capture existing allocator's dynamic fields
    allocator := #env.allocator.inner;
    alloc := #env.allocator.alloc;
    realloc := #env.allocator.realloc;
    free := #env.allocator.free;
    free_self := #env.allocator.free_self;

    #set_allocator(new_allocator); // this internally sets all the fields
    callback(arg);

    // set back to original
    #env.allocator.inner = allocator;    
    #env.allocator.alloc = alloc;
    #env.allocator.realloc = realloc;
    #env.allocator.free = free;
    #env.allocator.free_self = free_self;
}
``` which is evil
#

i feel like i might make a #clone() builtin function which takes a struct and recreates it with all its fields set to the current ones which would make this just

fn mem::scoped<T>(T *new_allocator, fn *callback, void *arg) @alias("$scoped") {
    orig := #clone(#env.allocator);
    #set_allocator(new_allocator);
    callback(arg);
    #env.allocator = orig;
}
``` idk about the memory usage tho
valid jetty
#

thats one of the IR's targets

#

you can even view the IR of some C function with -S -emit-llvm

dense sand
#

thats nice actually

valid jetty
#

useful for me when i wanna compare qbe to llvm idk

#

it is a little obfuscated because they add a billion attributes

dense sand
valid jetty
#

nope

#

@dense sand look at this function

#include <stdio.h>

int main() {
    volatile int a = 1;
    volatile int b = 2;
    printf("%d\n", a + b);
    return 0;
}
dense sand
#

yes im looking

valid jetty
#

if i do cc test.c -S -emit-llvm -o test.ll i get this mess lmao

dense sand
#

can elle target this

valid jetty
#

nop not yet

#

but look at how much more minimal that llvm can be

target triple = "arm64-apple-macosx13.0.0"

@.str = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1
define i32 @main() {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  store i32 0, i32* %1, align 4
  store volatile i32 1, i32* %2, align 4
  store volatile i32 2, i32* %3, align 4
  %4 = load volatile i32, i32* %2, align 4
  %5 = load volatile i32, i32* %3, align 4
  %6 = add nsw i32 %4, %5
  %7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %6)
  ret i32 0
}

declare i32 @printf(i8*, ...)
#

elle's is about that simple i think,

dense sand
#

holy shit which idiot said to themselves: "lets write the whole jvm docs in big endian", but left the access modifier constants in LE

#

awesome

#

and i was wondering why my public methods are marked as native

valid jetty
#

this program

use std/io;

fn main() {
    x := 1;
    y := 2;
    io::cprintf("%d\n", x + y);
}
``` spits out this
```llvm
data $.274 = { b "%d\n", b 0 }
export function w $main() {
@start
    %y.addr.273 =l alloc8 4
    %x.addr.271 =l alloc8 4
    storew 1, %x.addr.271
    storew 2, %y.addr.273
    %x.270 =w loadw %x.addr.271
    %y.272 =w loadw %y.addr.273
    %tmp.275 =w add %x.270, %y.272
    %tmp.276 =w call $printf(l $.274, ..., w %tmp.275)
    ret 0
}
``` lmao
#

not bad

ivory heath
# dense sand BABE WAKE UP new 1h theo video dropped!!

I would not be excited for his uploads. theyre usually slop he stole from someone else with little of his own input or even sometimes wrong and tried to basically reupload the entirety of someone else content before and baby raged when they flagged it/complained

ivory heath
#

ah

dense sand
#

who would even enjoy yapping 1 hour about change in licensing

#

i mean yea its important

ivory heath
#

me, i love FOSS drama

dense sand
#

but dont milk it like this

ivory heath
#

tells me who i need to avoid sodalove

dense sand
#

btw, is there any way to add extension to some arbitrary app to support discord rp?

#

id need to tamper with the application itself right

fleet cedar
#

Discord roleplay husk

supple whale
#

a week of work in 2 pictures:

elder scaffold
formal belfry
#
class SettingsSlider: UISlider {
    private var userDefaultsKey: String
    
    init(in range: ClosedRange<Float>, forKey userDefaultsKey: String, minimumImage: UIImage? = nil, maximumImage: UIImage? = nil) {
        self.userDefaultsKey = userDefaultsKey
        super.init(frame: .zero)
        setupSlider(in: range, minimumImage: minimumImage, maximumImage: maximumImage)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    private func setupSlider(in range: ClosedRange<Float>, minimumImage: UIImage?, maximumImage: UIImage?) {
        self.minimumValue = range.lowerBound
        self.maximumValue = range.upperBound
        self.minimumValueImage = minimumImage
        self.maximumValueImage = maximumImage
        
        self.setValue(110, forKey: "sliderStyle")
        
        self.tintColor = .label
        self.value = UserDefaults.standard.float(forKey: userDefaultsKey)
        
        self.addTarget(self, action: #selector(sliderDidChangeValue), for: .valueChanged)
    }
    
    @objc private func sliderDidChangeValue() {
        UserDefaults.standard.set(self.value, forKey: userDefaultsKey)
    }
}

#

@woven mesa

#

fix

woven mesa
formal belfry
woven mesa
#

im on mobile

formal belfry
#

fix it anwyay

#

hold on

formal belfry
#

despite the url it is really useful

#

xdd

woven mesa
#

agree

#

ur so cool

formal belfry
#

I will improve this at some point

woven mesa
formal belfry
#

proper api

woven mesa
#

dw oomf im on my mac now anyways

formal belfry
#

do you think it is because i am subclassing uislider

#

im not sure

formal belfry
#

i will try casting to uislider or something idfk

woven mesa
#

link(to: wagoowagoo())

formal belfry
#

wagwan

woven mesa
#
struct VolumeView: View {
    var body: some View {
        Vol()
            .frame(height: 100)
            .padding()
    }
    
    struct Vol: UIViewRepresentable {
        func makeUIView(context: Context) -> some UIView {
            let view = MPVolumeView()
            
            let config = (NSClassFromString("_UISliderFluidConfiguration") as! NSObject.Type).init()
            config.setValue(17, forKey: "stretchLimit")
            config.setValue(2, forKey: "expansionFactor")
            config.setValue(UIBlurEffect(style: .systemThickMaterialLight), forKey: "minimumTrackEffect")
            config.setValue(UIBlurEffect(style: .systemUltraThinMaterialLight), forKey: "maximumTrackEffect")
            
            let slider = view.subviews.first(where: { $0 is UISlider }) as? UISlider
            slider?.setValue(110, forKey: "sliderStyle")
            slider?.setValue(config, forKey: "sliderConfiguration")
            slider?.minimumValueImage = UIImage(systemName: "speaker.fill")
            slider?.maximumValueImage = UIImage(systemName: "speaker.wave.3.fill")
            slider?.tintColor = .white
            
            return view
        }
        func updateUIView(_ uiView: UIViewType, context: Context) {
        }
    }
}```
#

@formal belfry hug

#

@formal belfry give ur usage of the class

formal belfry
#
class LayoutSettingsViewController: SettingsViewController {
    override var data: [SettingSection] {
        return [
            SettingSection(cells: [
                SettingsHStack {
                    SettingsSlider(
                        in: 40...110,
                        forKey: "explorerCellHeight",
                        minimumImage: UIImage(systemName: "rectangle.arrowtriangle.2.outward")
                    )
                    SettingsSlider(
                        in: 20...60,
                        forKey: "explorerCellWidth",
                        minimumImage: UIImage(systemName: "rectangle.portrait.arrowtriangle.2.inward")
                    )
                },
                SettingsHStack {
                    SettingsSlider(
                        in: 0...46,
                        forKey: "explorerCellIconSize",
                        minimumImage: UIImage(systemName: "doc.text.viewfinder")
                    )
                }
            ])
        ]
    }
woven mesa
#

which one do i test

formal belfry
#

idk

#
                    SettingsSlider(
                        in: 20...60,
                        forKey: "explorerCellWidth",
                        minimumImage: UIImage(systemName: "rectangle.portrait.arrowtriangle.2.inward")
                    )
woven mesa
#

check the callstack

formal belfry
#

well all of them

woven mesa
#

also bc it just worked for me

formal belfry
#

lol

#

huuh

woven mesa
#

yop

#

tested in meret

formal belfry
#

wait is this ios 18 only or something

#

b

woven mesa
#

ios 16.4+ iirc

#

@formal belfry what ios ver

formal belfry
#

16.7

woven mesa
formal belfry
#

ugh

#

I will make a bridging header maybe

woven mesa
woven mesa
formal belfry
#

I know

#

u stole this from sebjvidal didnt you

austere anchor
woven mesa
austere anchor
woven mesa
#

i wrote the code myself

formal belfry
#

a

woven mesa
#

like my impl

formal belfry
#

The Cube

woven mesa
#

is very diff to his

#

i didnt use headers

#

i used flex

#

trolley

#

then i used key value

formal belfry
#

flex is so fucking awesome

woven mesa
#

ikr

#

should i recreate apple’s uislider properly

#

in swiftui

austere anchor
#

how

woven mesa
formal belfry
#

this might only be in ios 17

#

but limneos does not have 16.4 headers or anything i guess

woven mesa
#

oh

#

i can test on my moms iphone x

formal belfry
#

it probably is

#

whatever

formal belfry
#

sebjvidal was using ios 18 for it too

#

@native spruce @woven mesa

woven mesa
formal belfry
#

im gonna detect when you shake your phone in filemasu and delete the current directory

woven mesa
#

@austere anchor need to switch more stuff to bg threads

austere anchor
#

fr

woven mesa
#

to do with playback position advertised to ios on play and pause

#

@austere anchor the bug is i shouldn’t tell ios playback position when play pause from remote command source

austere anchor
#

hm

native spruce
nimble bone
#

apple invites so good

#

(its still a glorified calendar)

valid jetty
#

@austere anchor do you know if there is a way to programmatically turn kanji into romaji because i honestly don’t think that object files can have unicode as symbol names much less the IR i’m using

austere anchor
valid jetty
#

ugh right

#

i will probably just give them a unique id and resolve it at compile time then because i will need to map functions like プリント to printf anyway lmao

#

my brain was so fried because i was putting my function names to 足す and 倍 as if that’s the only reading for them

native spruce
#

@woven mesa im making clipper apache 2.0, is that okay

signal oakBOT
#

Apache 2.0 is a permissive open-source license allowing you to:

  • Use, modify, and distribute the software freely, even for commercial purposes.
  • Grant a sublicense
  • No copyleft obligation: Modifications don't have to be open-sourced.
  • Patent grant: It protects you from patent infringement claims.

You must:

  • Include the Apache 2.0 license and copyright notice in your distribution.

Essentially, you can do almost anything with the code as long as you give credit to the original authors and preserve the license.

native spruce
#

I will probably make clipper list gh contributors

#

from the gh api

#

since that would be cool I think

woven mesa
spark tiger
spark tiger
#

not blobcatcozy wires

valid jetty
#

why is this surprisingly really easy

#

especially in elle i thought this would be harder

valid jetty
#

i loveeeee

valid jetty
#

@austere anchor i figured out a way to encode these kanji names into objects!!

#

[足す: _56337Y4BTE, 同一: _46IY7Z5YQA, メイン: _46B27Y4CU7RY7MY]

#

i base32 encode the bytes from the unicode string

fn string::to_base32(string input) -> string {
    alphabet := "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
    output := "";
    buffer := 0;
    bits_left := 0;

    for byte in input {
        buffer = (buffer << 8) | byte;
        bits_left += 8;

        while bits_left >= 5 {
            bits_left -= 5;
            output.push(alphabet[(buffer >> bits_left) & 0x1F]);
        }
    }

    if bits_left > 0 {
        output.push(alphabet[(buffer << (5 - bits_left)) & 0x1F]);
    }

    return output;
}
#

and i believe this is RFC 4648 compliant because i used 2..7 not 0..5

native spruce
#

@woven mesa I somehow added 7 break points in a single line

#

WHAT THE FUCK

valid jetty
#

@placid cape xd

#

variable declaration

#

src

関数 同一(整数 x)『
    返す x。
』

関数 メイン()『
    整数 テスト = 同一(39)。
    プリント(テスト)。
』
frosty aurora
royal nymph
nimble bone
#

yop im setting up docker

placid cape
dense sand
cerulean plover
valid jetty
formal belfry
ornate quiver
#

imagine trying to reverse engineer that

valid jetty
ornate quiver
#

seeing insane symbols

valid jetty
#

it will be beautiful because as i realized this isnt even compliant base32

formal belfry
valid jetty
#

プリント encodes to 4OBZPY4DVLRYHM7DQOEA in python but 46BZ7Y4DV7RY7M7DQ6EA in the elle impl and i have no idea why

#

because its similar enough but just not quite

balmy lintel
#

problems im glad im never going to encounter in my life

sullen wing
sullen wing
#

i would have no idea where to start (i'm your average python pleb)

formal belfry
sullen wing
#

"Recuired knowlage:Assembly: knowledge about the low-level language Assembly." oh god

#

:salute:

formal belfry
#

lol

#

my whole kernel is only 5000 loc including asm and header files

valid jetty
dense sand
#

Everything you need to learn is system v abi and register operations

valid jetty
#

lol yeah

#

and if you know C well already it’s easy to transfer your knowledge of memory to it

ornate quiver
#

wait until you start getting into multithreading and architecture specific behavior

dense sand
#

Async await in asm when

sullen wing
elder scaffold
#

That person isnt at the level of writing a kernel lol

#

Unless you manage to write a kernel entirely with python

sullen wing
#

so its still c

elder scaffold
#

Did I say it was possible?

sullen wing
formal belfry
spark tiger
valid jetty
#

strings!!

placid cape
fleet cedar
#

That hasn't been true for the last 30 years but sure

hoary sluice
#

asm is syntax sugar around machine code

fleet cedar
#

If you have a very "creative" definition of syntax sugar perhaps

hoary sluice
#

any syntax that is an easier way of writing the same thing

fleet cedar
#

Asm isn't even valid syntax in most languages

#

Ergo, most languages are not syntax sugar for asm

hoary sluice
#

does asm!() count 🥺

hoary sluice
fleet cedar
#

Yes

hoary sluice
#

not imo

#

at least when comparing different languages

#

ok nvm the original definition implies you can use the verbose form

deep mulch
runic sundial
#

YOU LOVE

#

C++

#

AUTO

#

THIS

#

WILL SORT a

#

COPY

#

YOU NEED

#

&

#

on the other side

#

to sort a REFERENCE

fleet cedar
#
std::ranges::sort(structInfo.getFieldInfos(), std::greater(), &FieldInfo::getNumUses);
valid jetty
#

screw hello world

#

i have function calls working altogether

#

this source code

関数 テスト()『
    返す 「テスト にゃ〜」。
』

関数 メイン()『
    プリント(テスト())。
』
``` compiles to
```llvm
export data $tmp.1 = { b "テスト にゃ〜", b 0 }
export function l $_E38386E382B9E38388() {
@start
    ret $tmp.1
}
export function w $main() {
@start
    %tmp.3 =l call $_E38386E382B9E38388()
    %tmp.2 =w call $puts(l %tmp.3)
    ret 0
}
valid jetty
#

unhusk

deep mulch
#

nop

runic sundial
runic sundial
#

Ok works now

#

thanks

dense sand
#

who th thought to themselves that using a new table to make many to many relations is a good idea

runic sundial
#

YOU LOVE

#

many to many

#

relations

dense sand
#

no

#

ive got no idea how to implement it in drizzle

fleet cedar
#

I support polyamory

runic sundial
dense sand
#

C++ bad

#

use pure C

fleet cedar
#

Stdlib code is very ugly

dense sand
#

for gigachad

runic sundial
#

bro im just tryina keep my own code

#

clean

dense sand
#

my code is very clean too

#

wow i think i cooked many to many relation in drizzle

#

im an sql master now

runic sundial
#

i need a logging header fr

#

this is ass

fleet cedar
#

Use log4j

dense sand
#

bruh i dont have img perms

#

i cant even react

runic sundial
#

im so sorry

dense sand
#
#define LOG_STATUS_INFO  39
#define LOG_STATUS_WARN  33
#define LOG_STATUS_ERROR 31
#define LOG_STATUS_DEBUG 90

void log_message(int status, const char *format, ...);

#define info(message, ...) log_message(LOG_STATUS_INFO, message, ##__VA_ARGS__)
#define warn(message, ...) log_message(LOG_STATUS_WARN, message, ##__VA_ARGS__)
#define error(message, ...) log_message(LOG_STATUS_ERROR, message, ##__VA_ARGS__)

#ifdef DEBUG
#define debug(message, ...) log_message(LOG_STATUS_DEBUG, message, ##__VA_ARGS__)
#else
#define debug(message, ...)
#endif

#endif

this is my logging header 😭

fleet cedar
#

#define is so cringe

runic sundial
#

My biggest gripe rn is that I don't see where I'm copying

#

or using by ref

#

like

#

? ? ?

fleet cedar
#

(🦀)

dense sand
runic sundial
#

wow ok rust is gonna make it better

dense sand
#

just implement it once like

void log_message(int status, const char *format, ...)
{
    printf("\033[%dm[%s]: ", status, status == LOG_STATUS_INFO ? "INFO" : status == LOG_STATUS_WARN ? "WARN" : status == LOG_STATUS_ERROR ? "ERROR" : "DEBUG");
    va_list args;
    va_start(args, format);
    vprintf(format, args);
    va_end(args);
    printf("\033[39m\n");
}
runic sundial
#

IM FUCKING SURE

#

yeah

#

' as part of the syntax

#

get fucking real

#

It's not about it being "correct" it's about it being legible

dense sand
#

i still need to find a way to allocate classes properly

#

im not sure how to do it

dense sand
#

im writing the jvm implementation

valid jetty
#

allocate big enough to hold all the fields + implicit fields

#

but ofc it’s dynamic so that also means allocating space for the tag of what kind it is and stuff right

dense sand
#

well if i would like to then retrieve field with a specific name, how would i exactly do that? cause i if i allocate 8 bytes for 2 integer fields, how do i distinct which of them is which

#

not sure if you get me exactly

#
  • i need to take into an account fields from superclasses
deep mulch
#

@valid jetty Elle JVM when

dense sand
#

whenever the IR supports it

fallen nebula
#

regex is just the nicest tool guys

dense sand
#

i understand the regex as i write it but when i come back to it after 10 minutes im totally lost

valid jetty
fallen nebula
valid jetty
#

oh

dense sand
valid jetty
#

yeah you need to calculate the offset into the struct manually lol

dense sand
#

yes

#

and well...

#

thats gonna be fun xD

#

i could align the field sizes

#

or make it extra fun

valid jetty
#

if a struct is like

struct Foo {
int x;
string foo;
int y;
}

and you want y, the offset is at buf + sizeof(int) + sizeof(string)

#

you can just iterate through the fields and add on their size to an accumulator until you reach the field you’re looking for

#

that’s what i’ve done for ages in elle

dense sand
#

i need to finish cli now(thats apparently more important than the actual fucntionality of the vm)

valid jetty
#

lmao

dense sand
#

very awesome

valid jetty
#

that shouldn’t be that hard..?

dense sand
#

yea but im not sure about its efficiency

valid jetty
#

the only hard part sounds like the superclasses

dense sand
#

as they say, premature optimizations are bad, so i shouldnt really look at performance until i measure

fleet cedar
#

Superclasses aren't either, just concatenate the members

#

With appropriate padding so they're aligned of course

dense sand
#

if i align every memory allocated for each field to 8 bytes, it would make everything much easier

#

but also variable sizes wouldnt matter then xD

cursive beacon
#

discord literally broke GitHub webhooks (New webhooks only)

royal nymph
#

you have to append /github to your webhook url

#

reading docs goes a long way

cursive beacon
austere anchor
valid jetty
#

you take that into account when calculating the size surely

#

lol

winged meadow
#

where can i find what patches to use to achieve my behaviour

#

(vencord plugin dev)

#

is there some documentation for that?

supple whale
winged meadow
#

kind of makes sense

supple whale
#

but general idea is:

  • find what u want to patch
  • find the code in discord's minified and mangled source u want to find, [breakpoints, stack traces etc help]
  • find what vencord method is best to accomplish it
  • trial and error until it works
austere anchor
void leaf
#

How is FireFox the only people who support animated FavIcons??

winged mantle
#

firefox is the best

spark tiger
#

yippie

hoary sluice
#

@placid cape almost done

#

i can minimize and maximize windows now

#

adding all the other workspace features soon

#

and support for other window managers

placid cape
#

okay you're making a lot of progress

#

i should work on it again

#

currently i only have satellite (recognize, asr, sst)

hoary sluice
#

im just doing 1 commit a day

placid cape
#

👍

#

and you're using ws right?

valid jetty
# valid jetty this source code ```rs 関数 テスト()『 返す 「テスト にゃ〜」。 』 関数 メイン()『 プリント(テスト())。...

i think i succeeded in what i set out to do from the beginning

関数 同一(整数 値)『
    返す 値。
』

関数 気持ち()『
    返す 「大好き〜」。
』

関数 メイン()『
    ※これはコメントです
    整数 フウ = 同一(39)。
    文字列 バル = 気持ち()。
    プリント(「%dが%s:3\n」、フウ、バル)。
』
#

this all compiles properly

#

now i just need to add more features to pad the loc

#

it’s like 1500 atm but there’s no arithmetic or anything

#

i might just go the lazy route and link with a lib that has math operations as functions and just make you call the function to do math instead of making it an operator

#

maybe i should add location diagnostics because there’s none of that atm

jade stone
#

is there any compression functions in the DOM, gzip, zip, etc...

#

oh sick, node has gzip

jade stone
royal nymph
#

what for 😭

royal nymph
#

for companion?

jade stone
#

yea

royal nymph
#

just bundle it as is

#

compressing it is unsane

#

extensions are zips anyway

jade stone
royal nymph
#

vsix is just renamed zip

#

renamed zip gotta be top 3 file formats of all time

jade stone
#

the thing is i knew that 😭

i cant remember shit

icy needle
#

also the japanese quote thingies

pearl stagBOT
# valid jetty yes !! <https://github.com/acquitelol/ichigo/blob/mistress/examples/main.igo#L1-...

main.igo: Lines 1-15

関数 同一(整数 値)『
    返す 値。
』

関数 気持ち()『
    返す 「大好き〜」。
』

関数 メイン()『
    ※これはコメントです
    整数 フウ = 同一(39)。
    文字列 バル = 気持ち()。
    プリント(「%dが%s:3\n」、フウ、バル)。
    プリント(「彼女は「にゃ〜」と言ったの」)。
』
valid jetty
#

jp quotes let you do nested quotes without escaping

#

because the open and close quotes are different

dense sand
#

has anyone here worked with drizzle and better auth (+ ideally nextjs)

#
2025-03-03T17:30:14.754Z ERROR [Better Auth]: BetterAuthError [Error [BetterAuthError]: [# Drizzle Adapter]: The model "user" was not found in the schema object. Please pass the schema directly to the adapter options.]

im pretty sure i have my database schema configured correctly, yet im still getting this error

ionic lake
#

show your code my friend

dense sand
ionic lake
#

👍

cerulean plover
#

oh

#

i figured it out

#

you love making deobfuscator plugin

#

eh

#

not deobfuscator more remapping

#

idk the specific term to use in this case

fleet cedar
#

I've tried making an unminifier

#

Mostly focused on untangling comma operator and similar

#

Crashes on about 40% of files and is a huge mess

jade stone
#

its in companion

#

not renderer

cerulean plover
#

oh

dense sand
#

who thought that strings are basically "implicit classes" is a good idea

fleet cedar
#

Strings are usually values while classes are types, so that doesn't make sense

hoary sluice
#

theyre either char arrays or actual structs/classes

hoary sluice
dense sand
#

no in java

#

string is a class but in bytecode they are treated specially lol

#

and they are not being instantiated in the bytecode itself

#

like where am i supposed to do the allocations

#

im rewriting this crap for 1000th time

valid jetty
#

strings are not first class citizens of any IR

fleet cedar
#

In java bytecode string literals are pushed with ldc rather than calling a ctor iirc

dense sand
#

like when is this allocated?

#

oh it doesnt

#

smh

fleet cedar
valid jetty
#

@dense sand why would you subject yourself to this it looks like an absolute pain

dense sand
#

this IR such a hell tho

valid jetty
#

but do you like it that much

jade stone
#

does java have string primitives

civic flare
#

i think, no

formal belfry
#

sigma

#

i have time in my kernel 🥳

placid cape
#

@dense sand is your jvm open souce?

placid cape
formal belfry
placid cape
dense sand
placid cape
#

then you'll opensource it?

dense sand
dense sand
placid cape
#

okay makes sense

dense sand
#

i plan to implement writing too one day

#

lol

formal belfry
dense sand
#

poo

#

lol

formal belfry
#

grub

#

xD

dense sand
#

so you use multiboot right

formal belfry
#

multiboot2

spark tiger
# formal belfry

most useful cmd/ps command 🙏
who needs timing how long a command runs when we can print the current time

formal belfry
#

powershell 💀

dense sand
formal belfry
dense sand
#

okay what the fuck where did native function write come from

dense sand
#

Does anyone know what could the issue be here? Im starting to become quite clueless

valid jetty
#

i think i remember having this issue

#

try adding the -rdynamic flag to your build command

spark tiger
#

https://ziggit.dev/ is getting blocked by my school's wifi 💔

ornate quiver
#

now do it in rust

supple whale
#

i did smth stupid again

#

elden ring native on my phone

#

managed to get it to 32fps on 720p

#

i dont think i'll get more out of it tho

#

rly considering buying the newer SD elite phones

#

cuz that shit gets x2 perf of this one

spark tiger
# jade stone Hop on a vpn

i mean we only have access to wifis on school laptops during classes. i just often get bored at classes so i just research some stuff im interested in

deep mulch
#

what software?

supple whale
deep mulch
#

ive heard of that

supple whale
#

yeah

#

its utter dogshit

#

except the 10 beta

winged mantle
#

lol why is const my_array = []; implicitly any[] and export const my_array = []; implicitly never[]

astral rock
#

unexpected identifier assert

astral rock
nimble bone
royal nymph
dense sand
slim zodiac
#

Does anyone have a good idea how to bypass the max of 5 users logged into the idscord client? thinking about making my own plugin for it

runic sundial
#

Wtf

slim zodiac
runic sundial
#

It's sus

slim zodiac
#

Why

#

I just have many accounts

runic sundial
#

Reasonably explain why you need more than 1-2 alts

#

Without sounding sus

slim zodiac
#

Define sus

#

Lol

runic sundial
#

Suspicious as fuck

slim zodiac
#

My accounts get termed sometimes

#

;~;

runic sundial
slim zodiac
#

Nothing illegal dw

#

Lol

runic sundial
#

Yeah okay lol

slim zodiac
#

🖍️

runic sundial
#

🖍️

slim zodiac
#

ok ima go now take my exams, be back later

slim zodiac
dense sand
#

crazy

dense sand
#

the longest hello world 💀

winged mantle
#

huh it was before

spark tiger
winged mantle
#

not in my vscode

#

it's any[]

#

probably my config

#

idk why i have isolatedModules

#

but strict is true

#

okay what

jade stone
#

@winged mantle can you reproduce in ts playground

#

im curious, as arrays have always been never for me

winged mantle
jade stone
#

guhh???

#

but if i just try it in my editor

winged mantle
#

try with global

#

also trhis looks like java

#

decorators...

jade stone
#

i really need to add testing to that project tho

#

ill make one change and break all the ast parsers

fallen nebula
#

Java is cool

dense sand
#

what the hell does this even mean

#

why is it ocurring on

{

line

#

oh it works now

#

@placid cape i can now directly call native functions

#

jni ❌

placid cape
#

pogg xd

#

nice

hoary sluice
#

@valid jetty @placid cape can u go an entire day without using ur mouse

placid cape
#

no thanks

#

i hate touchpad

hoary sluice
#

using only keyboard

shy mauve
#

Tab would come in useful

hoary sluice
#

i meant like programming without a mouse

#

if im gonna take a break to play bedwars im probably gonna use a mouse

shy mauve
#

Sounds like a challenge a youtuber would do

#

Titles "i coded a project without the use of mouse" real

hoary sluice
#

and a lot of people do it

#

including me

shy mauve
#

lmao

#

No

#

Wrong vid

hoary sluice
#

i use my mouse only if i need to do a lot of file management in the file explorer

shy mauve
# shy mauve https://www.youtube.com/watch?v=WkT8ZC4ncX8

Developers are EXTREMELY lazy. I am no exception. Having a desktop environment that allows you to do the most coding while using the least amount of energy is key. In this video, we talk about how to setup i3, zsh and vim to make you a more efficient programmer. LETS GO!

🏫 COURSES 🏫
https://www.udemy.com/course/c-programming-101-for-aspiring-em...

▶ Play video
hoary sluice
#

or if im browsing

shy mauve
#

So it was the right vid

hoary sluice
#

you sent the same vid

shy mauve
#

Yeah

#

The name caught me offguard

shy mauve
hoary sluice
#

you have so much more time to think cause you dont waste any time moving ur cursor around

shy mauve
#

If it works dont change it blobcatcozy

hoary sluice
hoary sluice
deep mulch
dense sand
#

Tbh its not that hard

#

But you must be comfortable with the editor you're using

#

When im in neovim i dont use mouse, theres really no need to

#

I dont have any buttons or shit i would need mouse for

formal belfry
#

you can use this or pure cli

#

my setup

hoary sluice
#

black and white cpp got boring had to play ski**di toilet

hoary sluice
formal belfry
#

its there

#

its just white

hoary sluice
formal belfry
#

its there bro.

hoary sluice
#

not using syntax highlighting is crazy

formal belfry
#

real programmers dont need fancy colors to write code

hoary sluice
#

thats just false

valid jetty
#

@hoary sluice might try to get an apprenticeship at arm in a year or two

#

conflicts with my other goals but i was gonna take a gap year anyway

hoary sluice
#

why arm

#

why not proxmox

valid jetty
#

why proxmox

#

i like working with low level code

hoary sluice
#

ok proxmox probably doesnt offer apprenticeships

valid jetty
#

arm works a lot with c and asm

hoary sluice
valid jetty
#

and c p*us p*us

hoary sluice
#

like writing qemu

valid jetty
#

interesting

hoary sluice
#

and they pay a lot

#

for eu

#

3-5k

valid jetty
#

i think i could probably get a decent job anywhere with a compiler in my portfolio

#

or well 2 now but that’s just silly

hoary sluice
#

its hard to get an interview without a bachelor

valid jetty
#

at least my application will stand out

valid jetty
#

i get a bachelors and i get paid to do it

hoary sluice
#

u get bachelors with an apprenticeship??

valid jetty
#

yes?? the whole point is that they take you in with no experience and you do uni lectures as part of your week (which is a substitute for work)

hoary sluice
#

u mean u go to uni and do an apprenticeHIp at the same time

valid jetty
#

it lasts 3 years and by the end of it you get a bachelors

hoary sluice
valid jetty
#

no you have seperate online lectures

#

and you also get paid for it

#

because you’re still working

#

= no student debt

hoary sluice
#

we have something similar, you study 3 months and then work for 3 months

#

but apprenticeship is way better

valid jetty
#

yea it’s also very competitive

hoary sluice
#

im hoping i can get like a 30h job at proxmox during uni

valid jetty
#

which is why having a compiler on my portfolio will hopefully make me stand out (if i decide to even apply)

hoary sluice
#

for an apprenticeship its probably awesome

valid jetty
#

because making a compiler implies you know how memory works well which means you probably also know C well and it all unfolds from there xd

valid jetty
hoary sluice
#

i wanna keep working on icps but my teammate refused to make a compiler for diploma thesis so now im stuck with a stupid voice assistant

valid jetty
#

isn’t icps interpreted tho

hoary sluice
#

i will make it compiled later

valid jetty
#

and anyway i made a basic compiler in elle in like a day i’m sure you can figure out how to make one in the span of like a year as like a side hobby

hoary sluice
valid jetty
#

lmao fair i guess

#

there’s no way im doing aoc next year tbh i have way too many things to be studying now (i put a big emphasis on physics and japanese which wasn’t really there before)

hoary sluice
#

im in my senior year, we have a diploma thesis, which requires about 100 pages of docs and min 150h of work, as well as another projeck about the same size purely for school, also had to drive a lot to practice for practical exam (passed today) and now the diploma thesis deadline is 4.4.2025 and then theres 2 months of the austrian equivalent of a levels exams, then i need to get a job for 4 months, then army for 6 months and then uni and basicaly next time i have a lot of free time is summer 2026

formal belfry
#

cool

#

not that hard

#

i could probably do it faster

valid jetty
#

i meannn i also made the whole parser during the same day

#

xd

hoary sluice
#

maybe i will use the april holidays to grind out a resume

#

finish icps

hoary sluice
formal belfry
#

terry davis once said

"the difference between an amateur and a professional is that you write your own fucking compiler"

hoary sluice
#

im sure if someone makes the proper prep and a small language they can write the full compiler in an hour

valid jetty
#

what a day

formal belfry
#

what the fuck are those commit messages

formal belfry
#

i cant read that xd

pearl stagBOT
# valid jetty <https://github.com/acquitelol/ichigo/blob/mistress/examples/main.igo#L1-L15>

main.igo: Lines 1-15

関数 同一(整数 値)『
    返す 値。
』

関数 気持ち()『
    返す 「大好き〜」。
』

関数 メイン()『
    ※これはコメントです
    整数 フウ = 同一(39)。
    文字列 バル = 気持ち()。
    プリント(「%dが%s:3\n」、フウ、バル)。
    プリント(「彼女は「にゃ〜」と言ったの」)。
』
hoary sluice
#

now make a toy language using only the c preprocessor

balmy lintel
visual shellBOT
# balmy lintel lc.octr

-# <:i:1336065711323222119> ​ 🇯🇵  Japanese   ​ ​ ​​<:i:1336064835691090043> ​ ​ ​ ​🇺🇸  English  

19:25 ❤
Improved README.md
acquitelol committed yesterday
Commits on Mar 3, 2025
■ 4G 49
Improved nested characters
acquitelol committed 2 days ago
. . .
Improved build process
acquitelol committed 2 days ago
Removed executables
...
acquitelol committed 2 days ago
compiler
Added compiler
acquitelol committed 2 days ago
Improved examples
acquitelol committed 2 days ago
Simplified code
acquitelol committed 3 days ago
Read the full commit
※Added parser parser
※Cleaned up code base
※Added examples
Added "base32.le"
acquitelol committed 3 days ago
-0- Commits on Mar 1, 2025
Added documentation and comments
. . .```
valid jetty
#

xd

hoary sluice
#

added parser parser

#

when are you adding the compiler compiler

valid jetty
#

it says that because i put the english part there so it read it as パ—サ—を追加Parser

hoary sluice
#

huh

valid jetty
#

it read the big purple text

#

lmfao

hoary sluice
#

ohhh

hoary sluice
#

next aoc i will be in the military

placid cape
#

what?

#

military?

hoary sluice
#

their wake up time just so happens to be exactly the same time that aoc starts

hoary sluice
#

6 months

placid cape
#

oh well we dont have that in slovakia

#

bcs nato

hoary sluice
#

its so stupid and unneccessary

#

they dont even do anything there

#

apparently they just sit around and get drunk

#

im going to the cyber department so hopefully ill just be able to work on something private without them noticing

hoary sluice
#

my tests minimize, maximize my active window, move it to another workspace, switch to that workspace, close the window and then open zed all in a random order

hoary sluice
#

they also have extremely bad organisation

placid cape
hoary sluice
#

i sent them a letter saying i can go in october 2025 and they still havent responded so if they dont request me to go in october then im just gonna go to uni and maybe leave the country afterwards

hoary sluice
#

watching alberta tech on insta is crazy

placid cape
hoary sluice
#

i used to not have any tests but then i got bored of constantly having to launch the frontend, connect a mic and speak into it

hoary sluice
placid cape
#

💀

hoary sluice
#

i have almost a full year of free time before uni so i decided to just go in october

#

so i sent a letter saying they should draft me in october

#

if they dont i can delay it until im done with my bachelor and then see what i do

#

either do military or go somewhere in the east

#

idk im considering gulf countries, kazakhstan, malaysia or singapore

#

or poland

#

but meh

placid cape
#

why poland? 🤔

hoary sluice
#

cause i like it there

#

at least in warsaw

#

been there like 10 times

placid cape
#

go to switzerland or norway

hoary sluice
#

and not be in a super western country

placid cape
#

well yea then it's probably not the best choice

hoary sluice
#

switzerland is like the worst choice behind usa

placid cape
#

btw how's going with incps

hoary sluice
#

norway would be close to #3

hoary sluice
#

doing voice assistant

hoary sluice
placid cape
#

idk i like switzerland

#

cern 😍

hoary sluice
#

i like visiting

#

but living there would be horror

#

you need like 100k chf salary to just get by

placid cape
#

well yeah thats true

hoary sluice
#

tbh austria is only thriving because taxes are ludicrous

#

politics here are going to shit

#

everything is in chaos

placid cape
#

I heard that

#

our government in slovakia is also amazing 😍

hoary sluice
#

i dont think its normal for government websites to just not work half the time

jade stone
#

mdn says its es2024 blobcatcozy

hoary sluice
#

since 2019 weve had 6 different chancellors across 8 terms

placid cape
#

our cadastre doesn't work for about 2 months now

valid jetty
ornate quiver
#

noooo

dense sand
dense sand
dense sand
#

wth python is horrible language

dense sand
#

v0 is another gipity wrapper for building sites

formal belfry
#

500 stars bro

#

for llm garbage

dense sand
#

this is a leak

#

the actual v0 is (partially) paid

#

and its popular cause vercel is author of nextjs and go-to deploy platform for nextjs projects

#

and it can actually produce sometimes good stuff

#

but i never personally used it

formal belfry
#

and it can actually produce sometimes good stuff

💀

#

llms struggling with frontend web development thats sad

dense sand
#

it uses shadcn so uh

valid jetty
#

i added arithmetic lol

#

its so beautiful

#
関数 メイン()『
    整数 値 = 乗算(
        加算(
            乗算(132)、
            減算(2310)
        )、
        乗算(52)
    )。

    整数 ミクの数 = 除算(値、剰余(10090))。
    プリント(「%d\n」、ミクの数)。
』
#

i didnt wanna bother to make a proper operator precedence parser so functions are the only way for now

pearl stagBOT
# valid jetty https://github.com/acquitelol/ichigo/blob/mistress/src/parser/parser.le#L243-L26...

parser.le: Lines 243-263

fn Parser::add_arithmetic(Parser *self, string name, string op) {
    self.tree.push(Primitive::Function(
        name,
        [Argument::new("x", "整数"), Argument::new("y", "整数")],
        [AstNode::Return(
            AstNode::BinOp(
                AstNode::from_token(Token::new("identifier", ValueKind::String("x"))),
                AstNode::from_token(Token::new("identifier", ValueKind::String("y"))),
                op
            )
        )]
    ));
}

fn Parser::add_arithmetic_methods(Parser *self) {
    self.add_arithmetic("加算", "add"); // 「かさん」と読みます
    self.add_arithmetic("減算", "sub"); // 「げんざん」と読みます
    self.add_arithmetic("乗算", "mul"); // 「じょうざん」と読みます
    self.add_arithmetic("除算", "div"); // 「じょざん」と読みます
    self.add_arithmetic("剰余", "rem"); // 「じょうよ」と読みます
}
valid jetty
#

@austere anchor actually are these even the right terms or do i use 足し算 引き算 掛け算 割り算

austere anchor
#

those are the more well known ones though

#

although i would assume everyone can guess regardless because of the kanji used

austere anchor
austere anchor
placid cape
#

but well you're right its amazing

valid jetty
valid jetty
austere anchor
austere anchor
#

ohh, in this case i'm actually not sure if it should be phrased more as scientific lingo or like natural speech

#

i guess it depends how you want the language to look

#

i guess since you're already using vocab like "整数" might as well use the ones you're using

valid jetty
#

yeah ok fair ty

#

is there a more casual way to say 整数??

valid jetty
austere anchor
valid jetty
#

surely you’re tought it in elementary school right

austere anchor
#

!

austere anchor
valid jetty
#

ya

austere anchor
#

i mean idk when you learnt about the set of integers

valid jetty
#

not sure how else you would say integer without using the word for integer

austere anchor
#

but i learnt it in like

#

high school

valid jetty
austere anchor
#

and when jp people learn programming

#

they learn the english based ones

#

so basically the only place where they learn 整数 is starting from high school onwards

austere anchor
#

along with the set of integers

austere anchor
valid jetty
austere anchor
valid jetty
#

okok

#

the way you read 乗算 and 除算 probably gets really confusing in spoken speech lol

#

especially if you speak fast and don’t sound out the second syllable properly

austere anchor
#

乗法 = 情報

#

.

valid jetty
#

different pitch accents right 😭

#

surely

austere anchor
dense sand
#

i can now use @Raw annotation to distinct from calling functions with their native signature and jni-like functions

ornate quiver
#

huh

dense sand
#

puts would normally require C function with puts(void*, size_t, void**) signature, whereas with this annotation, it can do purely native function calls

valid jetty
#

wdym purely native

dense sand
#

basically it doesnt require exactly void*, size_t, void** args

valid jetty
#

hm

dense sand
#

way better than having to do some Linker shenenigans

valid jetty
#

you know the linker doesnt care about arguments right

#

it just cares about the existence of symbols

dense sand
valid jetty
ornate quiver
#

guh

#

oh so you're basically doing FFI without JNI

dense sand
#

yes

#

no jni

ornate quiver
#

without*

dense sand
#

yes

#

i still need to implement the memory allocation for the actual objects tho fr so no oop still 😭

#

and i dropped windows support blobcatcozy

#

windows support when windows is unix compliant

formal belfry
#

who uses windows in 2025

#

LINUX is the new meta

#

why the reaction