#💽Programming Chat v2

1 messages · Page 109 of 1

spare quartz
#

arcade fighting games ?

timid quartz
#

street fighter, guilty gear, etc

spare quartz
#

the closest i think i've played is doom eternal/2016

#

i wanna try modern MK though

timid quartz
#

Modern M(G)K(S)

spare quartz
#

find gmhs

timid quartz
#

@wintry fable

spare quartz
#

nerd

#

A5

timid quartz
spare quartz
#

not battleship.

#

For legacy mode, move word from address DS:(E)SI to ES:(E)DI. For 64-bit mode move word at address (R|E)SI to (R|E)DI.

#

wow theres no 0xA4u to base off of

#

gotta code this one from the intel psuedocode..

timid quartz
spare quartz
timid quartz
#

yea it does

spare quartz
#

die.

timid quartz
#

Ok

spare quartz
#

WRONG INSTRUCTION TYPE

timid quartz
#

maybe i should go back in time to my 12yo self and get him into csgo

spare quartz
#

0x0100:000000000000144C 0xA5: movsw/d [es:[di [0x0100:0000000000000200]], si [0x0060:000000000000084B]

#

this close.......

#

im hoping to see the IBM copyright soon...

spare quartz
#

hmmm that will be interesting

spare quartz
# timid quartz maybe i should go back in time to my 12yo self and get him into csgo

After months of work it's finally here, Minecraft's first true anti-air weapon. In this video we investigate how to use the new wind charge mechanics to make a sophisticated aiming mechanism that is accurate and fast enough to be effective against players using the elytra. We will cover many important decisions, compromises and suprising discove...

▶ Play video
#

tell yourself to become a redstone engineer

spare quartz
#

at least that floppy works

#

ohhh its so pretty

timid quartz
#

i wanna get that zig thing to work

#

what zig version was 7 years ago

#

oh it says it in a commit 0.7.1

#

though that was 5 years ago

#

mfw that was before macos builds

#

killing myself

#

and my linux is fucking nix so I can't just run the binary dies

#

docker ftw

#

heyy it works @spare quartz

spare quartz
#

send .img when you can

timid quartz
spare quartz
#

ill now accept either a flat binary or ISO file

timid quartz
#

this is all i got

spare quartz
timid quartz
#

idk how

spare quartz
#

: objcopy -j .text -O binary something ......

#

got so many test files

timid quartz
#

going to krill you

spare quartz
timid quartz
timid quartz
spare quartz
#

HOWEVER

#
cr2 Δ: 0x0000000000000000
cr3 Δ: 0x0000000000000000
cr4 Δ: 0x0000000000000000
flags Δ: 0x0000000000000000
Error during step
cs Δ: 0x0000000000000000
java.lang.IllegalArgumentException: Missing opcode for 0x02 [0x0000000000007C01]
    at org.bread_experts_group.computer.ia32.IA32Processor.decode(IA32Processor.kt:301)
    at org.bread_experts_group.computer.ia32.IA32Processor.step(IA32Processor.kt:35)
    at org.bread_experts_group.computer.ia32.IA32ProcessorTest.helloWorld(IA32ProcessorTest.kt:103)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
#

ill need to write more instructions for it tomorrow

timid quartz
#

also uh

#

does this thing...account for like

#

multiboot...and bss...

spare quartz
#

wdym

timid quartz
#

cause uhm

spare quartz
#

oh

#

well if it expects a bootloader then no

#

because its a bootloaders job to handle those, not a processor

timid quartz
#

it just does multiboot

spare quartz
#

can you make it

#

not do that

timid quartz
#

ughhhh annoyinggggg

#

that just needs to be the first thing in _start right

spare quartz
#

wdym

timid quartz
#

the boot..loadr...

spare quartz
#

if you mean "ill include a bootloader in my flat binary at the start"

#

yes

timid quartz
#

stupi..dd

#

idk how to get around the stack thing either

spare quartz
#

wdym stack thing

timid quartz
#

in .bss

spare quartz
#

oh

#

it's probably handled by zigs compiler/linker, hopefully

timid quartz
#

it is but like if it's not exported in the raw binary...

spare quartz
#

"bss" isn't a real thing in assembly so it probably just chooses somewhere nice to put the memory

#

mov sp, 0x500 < example

#

if sp isn't set then the CPU has a default value which MIGHT work

#

big emphasis on "might"

timid quartz
#

ok im going to steal a bootloader

spare quartz
#

im first gonna sleep

timid quartz
#

no

spare quartz
#

so if you make the flat binary justu pload it and ping me

#

and ill test it tmrw (but dont expect it to work with all the crazy things compilers do)

timid quartz
#

better to just write the asm yourself

spare quartz
#

I just wanted to see if the zig one can also work …

timid quartz
#

actually

#

send me your bootloader

#

to ensure maximum working-ness of it

spare quartz
#

I don’t have one

timid quartz
#

lame

spare quartz
#

It’s a processor

#

What boatloader did you expect

timid quartz
#

idk

spare quartz
#

でび夫ーーーー

timid quartz
#

wait so youre just running 16-bit code

#

you're not even in protected mode?

spare quartz
#

Yes

#

You have to switch to protected mode manually

timid quartz
#

ooof ok yes

#

backwards long jump

spare quartz
#

Or you can be like DOS and not even have protected mode

#

Hold on getting my cat

timid quartz
#

ok lowk I have no fucking clue how im gonna ljmp this thing

spare quartz
#

AUUGHH CAT TOIRE SCRATCHING ME STOP

#

JUST CAUSE THERES THE CAT YOU HATE IN THE WINDOW DOESNT MEAN YOU CAN JILL ME

timid quartz
#

cause I have no clue what the CS register would be

spare quartz
#

The processor executes instructions at physical address (CS * 0x10) + IP

timid quartz
#

and i probably have to fuck with the gdt too

spare quartz
#

Zzzz time

timid quartz
#

ok so

#

i cant just make a nice big asm volatile block

#

that's fun

#

idk how im going to shimmy the asm bootloader in front of the zig executable

#

unless both are just separate binaries and you kinda squish them together, that could work

#

but not really cause that would be pain trying to figure out where to ljmp to

rustic vine
#

Good morning

#

Up and at em

glossy siren
#

@spare quartz i'm going to break this mod in every way imaginable

spare quartz
#

4230423940235

#

81 /4 iw AND r/m16, imm16 MI Valid Valid r/m16 AND imm16.
81 /4 id AND r/m32, imm32 MI Valid Valid r/m32 AND imm32.

timid quartz
spare quartz
timid quartz
#

i was thinking

#

ig the simplest bootloader would just need to ljmp and then jump to _start

spare quartz
#

this is how the old test kernel did it

timid quartz
#

who needs a gdt....

timid quartz
# spare quartz

the only issue is that zig 0.7.1 apparently doesnt support multiline assembly in code so like

#

oh wait

#

im idot

#

welll not really

#

it only supports multiline global assembly

#

and I could only make it a function I dont think I could use it for the bootloader

timid quartz
#

SPAMTON BUCEES

spare quartz
#

oh yeah

#

now that i have enough

#

its time for

#

stage 2

timid quartz
spare quartz
#

duh

timid quartz
#

do you even have a "bios"

spare quartz
#

yes

#

how do you think we can load programs... and type... and display characters

spare quartz
#

should note that the bios is not conventional

#

its written in kotlin

timid quartz
spare quartz
#

additionally its smarter than you

timid quartz
#

#

where does your vga buffer live

spare quartz
#

where it lives in any pc

timid quartz
#

which is

spare quartz
#

do you not have a copy of the interrupt list

timid quartz
#

0xB8000?

spare quartz
#

yes

#

that is the DEFAULT mode

timid quartz
#

eh nvm im not gonna write to it

spare quartz
#

why not

timid quartz
#

is this a flat binary

#

i dont think so actually

spare quartz
#

if you're confused just use the file command (if you're on linux)

timid quartz
#

try that

#

it should just

#

do nothing

#

except enter protected mode

#
.code16
.text
.global start
start:
    cli
    ljmp $0x0, $start32

.code32
start32:
   hlt 
   jmp start32
spare quartz
# timid quartz ok
BIOS FP CPY 0x0000000000000000 -> 0x0000000000000200 @ 0x0000000000007C00
a Δ: 0x0000000000000000
b Δ: 0x0000000000000000
c Δ: 0x0000000000000000
d Δ: 0x0000000000000000
sp Δ: 0x0000000000006F40
bp Δ: 0x0000000000000000
di Δ: 0x0000000000000000
si Δ: 0x0000000000000000
cs Δ: 0x000000000000F000
ds Δ: 0x0000000000000000
es Δ: 0x0000000000000000
fs Δ: 0x0000000000000000
ss Δ: 0x0000000000000000
gs Δ: 0x0000000000000000
gdtrLimit Δ: 0x0000000000000000
gdtrBase Δ: 0x0000000000000000
idtrLimit Δ: 0x0000000000000000
idtrBase Δ: 0x0000000000000000
cr0 Δ: 0x0000000000000000
cr2 Δ: 0x0000000000000000
cr3 Δ: 0x0000000000000000
cr4 Δ: 0x0000000000000000
flags Δ: 0x0000000000000000
0x0000:0000000000007C00 0xFA: cli 
cs Δ: 0x0000000000000000
0x0000:0000000000007C01 0xEA: ljmp 0x0000:7C06
0x0000:0000000000007C06 0xF4: hlt 

timid quartz
#

did it work....

spare quartz
#

it didn't enter protected mode

#

but sure it worked

timid quartz
#

fuck why it no enter protected mdoe

spare quartz
#

because you need to modify cr0

#

a ljmp only refreshes the addressing mode of the CPU

timid quartz
#

im going to modify your cr0

#

so I could just

#

mov %cr0, 1

spare quartz
#

well you usually mov cr0 to a register and then or it to 1 and then move it back

#

cause theres a bunch of stuff in cr0 you dont know about

timid quartz
#

gay

spare quartz
timid quartz
spare quartz
#
BIOS FP CPY 0x0000000000000000 -> 0x0000000000000200 @ 0x0000000000007C00
a Δ: 0x0000000000000000
b Δ: 0x0000000000000000
c Δ: 0x0000000000000000
d Δ: 0x0000000000000000
sp Δ: 0x0000000000006F40
bp Δ: 0x0000000000000000
di Δ: 0x0000000000000000
si Δ: 0x0000000000000000
cs Δ: 0x000000000000F000
ds Δ: 0x0000000000000000
es Δ: 0x0000000000000000
fs Δ: 0x0000000000000000
ss Δ: 0x0000000000000000
gs Δ: 0x0000000000000000
gdtrLimit Δ: 0x0000000000000000
gdtrBase Δ: 0x0000000000000000
idtrLimit Δ: 0x0000000000000000
idtrBase Δ: 0x0000000000000000
cr0 Δ: 0x0000000000000000
cr2 Δ: 0x0000000000000000
cr3 Δ: 0x0000000000000000
cr4 Δ: 0x0000000000000000
flags Δ: 0x0000000000000000
0x0000:0000000000007C00 0xFA: cli 
cs Δ: 0x0000000000000000
0x0000:0000000000007C02 0x20: mov eax [0x00000000], cr0 [0x00000000]
0x0000:0000000000007C05 0x83: or eax [0x00000000], 0x01
0x0000:0000000000007C09 0x22: mov cr0 [0x00000000], eax [0x00000001]
a Δ: 0x0000000000000001
cr0 set 0x0000000000000001 [PROTECTED_MODE_ENABLE]
cr0 Δ: 0x0000000000000001
0x0000:0000000000007C0B 0xEA: ljmp 0x0000:7C10
0x0000:0000000000007C10 0xF4: hlt 

timid quartz
#

did

#

ity

#

work

#

raaah

spare quartz
#

just read the disassembler output

#

you can read it

timid quartz
#

no i cant

#

did it enter protected mode

#

it ENABLED it but did it enter

spare quartz
#

sure whatever

timid quartz
#

did it enter ca

spare quartz
#

"YES"

#

i dont know

#

just write code in 32 bits

timid quartz
#

wdym you dont know

spare quartz
#

and see if it runs

timid quartz
#

you made the CPU

spare quartz
#

okay well im preoccupied with wplace

timid quartz
#

idot

spare quartz
# timid quartz run
0x0000:0000000000007C0B 0xEA: ljmp 0x0000:7C10
0x0000:0000000000007C10 0xB8: mov ax, 0x0000
0x0000:0000000000007C13 0x00: add bx+si [0x00000000], al [0x00]
a Δ: 0x0000000000000000
0x0000:0000000000007C15 0x05: add ax, 0xBEEF
flags Δ: 0x0000000000000004
0x0000:0000000000007C18 0xAD: lodsw/d ax, ds:si
a Δ: 0x000000000000BEEF
flags Δ: 0x0000000000000010
Error during step
a Δ: 0x000000000000FF50
si Δ: 0x0000000000000002
java.lang.IllegalArgumentException: Missing opcode for 0xDE [0x0000000000007C1A]
#

why are you making me write another instruction.......

spare quartz
#

what is "orl"

timid quartz
#

or long

spare quartz
#

can you show me your code

timid quartz
#

oh wait mb it's addl

#
.code16
.text
.global start
start:
    cli
    movl %cr0, %eax
    orl $0x1, %eax
    movl %eax, %cr0
    ljmp $0x0, $start32

.code32
start32:
    movl $0, %eax
    addl $0xDEADBEEF, %eax
    hlt 
    jmp start32
spare quartz
#

well it appears you aren't actually entering protected mode then

#

cause the cpu is saying thats 16 bit code

timid quartz
spare quartz
#

maybe you do need a gdt...

timid quartz
#

noooo DAYNOTMADE

spare quartz
timid quartz
#

ok i give up

#

idk how to gdt

spare quartz
#

you just write some things to memory

#

and lgdt

timid quartz
#

ughh too hard

#

what to even write to gdt

timid quartz
#

playing this stupid game again

#

total chao death

spare quartz
#

total rust death

timid quartz
#

debirun....

#

wtf

spare quartz
spare quartz
#

trying it again ...

spare quartz
#

YESSS

#

🥺

#

IT WORKS...

#

JUST NEED BIOS INTERRUPTS

timid quartz
#

I adde a gdt hopefully

spare quartz
timid quartz
#

i think ur cpu just cant jump to protected mode..

spare quartz
#

considering it loads GRUB, it can

timid quartz
spare quartz
#

same result

timid quartz
#

ig maybe I need to ljmp with a cs that's not 0x0

#

might need to disable a20 idk

spare quartz
timid quartz
#

idk I copied it from my os class lol

spare quartz
#

well if its about the a20 line remove it

#

there is no a20 line

timid quartz
#
seta20.1:
  inb     $0x64,%al               # Wait for not busy
  testb   $0x2,%al
  jnz     seta20.1

  movb    $0xd1,%al               # 0xd1 -> port 0x64
  outb    %al,$0x64

seta20.2:
  inb     $0x64,%al               # Wait for not busy
  testb   $0x2,%al
  jnz     seta20.2

  movb    $0xdf,%al               # 0xdf -> port 0x60
  outb    %al,$0x60
spare quartz
#

brb sandwich

timid quartz
#

oh wit uh

spare quartz
#
BIOS FP CPY 0x0000000000000000 -> 0x0000000000000200 @ 0x0000000000007C00
0x0000:0000000000007C00 0xFA: cli 
cs Δ: 0x0000000000000000
0x0000:0000000000007C01 0x31: xor ax [0x0000], ax [0x0000]
0x0000:0000000000007C03 0x8E: mov ds [0x0000], ax [0x0000]
flags Δ: 0x0000000000000044
0x0000:0000000000007C05 0x8E: mov es [0x0000], ax [0x0000]
0x0000:0000000000007C07 0x8E: mov ss [0x0000], ax [0x0000]
0x0000:0000000000007C0A 0x01: lgdt +0x7C44 [0x00007C2C / 0x0017]
0x0000:0000000000007C0F 0x20: mov eax [0x00000000], cr0 [0x00000000]
gdtrLimit Δ: 0x0000000000000017
gdtrBase Δ: 0x0000000000007C2C
0x0000:0000000000007C12 0x83: or eax [0x00000000], 0x01
0x0000:0000000000007C16 0x22: mov cr0 [0x00000000], eax [0x00000001]
a Δ: 0x0000000000000001
flags Δ: 0x0000000000000000
cr0 set 0x0000000000000001 [PROTECTED_MODE_ENABLE]
cr0 Δ: 0x0000000000000001
0x0000:0000000000007C18 0xEA: ljmp 0x0008:7C1D
0x0008:0000000000007C1D 0xB8: mov eax, 0x00000000
cs Δ: 0x0000000000000008
0x0008:0000000000007C22 0x05: add eax, 0xDEADBEEF
a Δ: 0x0000000000000000
0x0008:0000000000007C27 0xF4: hlt 
a Δ: 0x00000000DEADBEEF
flags Δ: 0x0000000000000010

timid quartz
#

is it still re-

#

wait

#

wow

#

it might have jumped

#

that looks like 32 bit code?

spare quartz
#

correct

timid quartz
#

so

#

the proper ljmp was ljmp $0x8, $start32

#

0x8 because uhh...8 bytes into the gdt for code segment

#

they dont really document this anywhere

spare quartz
#

document what

timid quartz
#

wtf you're supposed to give it for the cs argument

#

ljmp cs, ip yknow

spare quartz
#

its documented in the GDT

timid quartz
#

didnt see anywhere that said "the cs argument is an index into the gdt"

spare quartz
#

To use a segment, a program refers to it using a segment selector — a special value that tells the processor which GDT entry to use. The processor then loads this descriptor into a segment register, which holds both visible and hidden metadata about the segment.

#

the segment selector being something like cs, ds, ss, gs, fs, ...

#

the segment selector is... in the name... a selector of a segment

#

gdtBase + segmentSelector = physical address of the gdt entry to use

timid quartz
#

going to select the segment where you die

timid quartz
#

now I just wonder

#

how tf can I take this short asm program

#

and squish it onto the front of the zig program

#

maybe if I could like uhhhh

#

take the uhhhh

#

zig program

#

output as .o

#

and then take the asm program as .o

#

and ld them together

#

let's C

#
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(start)

SECTIONS
{
    . = 0x7C00;
    .boot : { *(.boot) }
    . = 0x7DFE;
    .signature : { SHORT(0xAA55) }
    .text : { *(.text) }
}
spare quartz
timid quartz
#

i basically just squished them together

spare quartz
timid quartz
#

is that a you problem or a me problem

spare quartz
#

me

#

i need to fix this but idk how

timid quartz
#

oh ok yipee

spare quartz
#

OH

#

mr crabbsss

#

i have an ideaaa

timid quartz
#

krabs*

#

smh

#

fake sponebob fan

spare quartz
#

you're a rust user

#

and its literally just a crab

#

so

timid quartz
#

crab... :3

spare quartz
#

ew

timid quartz
#

ok I need to shower but fix ur thing

#

what's your idea

spare quartz
#

i ALSO need to shower

#

but i just need to tie the ModRM to use the cpu addressing mode

#

cause i think your compiler is trying to overflow intentionally

timid quartz
#

how

spare quartz
#

idk

#

what do i look like

#

a cpu programmer

timid quartz
#

YES

timid quartz
#

idk I don't totally expect this to work

#

cause uh

#

it's what 980 bytes?

#

that might go over where it should be allowed to go

spare quartz
#

the bios FP copy only moves 512 bytes

#

i COULD increase it to 1024 bytes

timid quartz
#

yeah do that pls ❤️

#

just to see if it works

#

850 bytes*

spare quartz
timid quartz
#

how tf do they fit a whole ass bootloader + disk load in 512 bytes

#

shit's crazy

spare quartz
#

0x0 - 0x4 = 0xFFFF - 0x4...

spare quartz
#

like many more kilobytes

#

its more error reporting before loading thats the issue

spare quartz
#

unless my decoder logic is wrong (which would be very very very rare) the compiler appears to be trying to zero 0xFFFB

#

i dont know what that is but ill trust it

timid quartz
#

idk either lol it's probably the zig code 😭

spare quartz
#

like pushing before even setting the stack

timid quartz
#

well ok I should uh

#

probably put bss in there somewhere

#

lemme do that

#

ok

#

didn't...actually increase the size at all

spare quartz
#

cause bss is fake

timid quartz
#

ur fake

#

bayachao is fake

spare quartz
timid quartz
#

yeah idk

lone sky
#

aerasto you fake as fuck

timid quartz
#

I mean it works in qemu so like surely your cpu can run it

lone sky
#

💔

timid quartz
spare quartz
lone sky
timid quartz
#

#

you’re an ai model built on gpt 2 vro

spare quartz
timid quartz
#

But yeah I dont expect this to work

#

I literally just strapped the bootloader onto the zig code with the linker so

spare quartz
timid quartz
#

ぬいぐるみ魔法!!

spare quartz
#

ummmmmm ummm

timid quartz
spare quartz
#

@timid quartz AGGHH

#

YOU'rE STILL USING IN!!!

#

ill tolerate it but watch what happens when i write to an IO pin i dont know!

#

umm

#

i dont know what io port 0x53 is ...

timid quartz
spare quartz
#

well your zig code appears to be incorrect cause its referencing an io port that seemingly does not exist

#

ill just return a zero but idk what it will do

timid quartz
#

qemu can run it ¯_(ツ)_/¯

spare quartz
#

"qemu can run it" im going to run you over with a car

timid quartz
#

I think I’ve formatted my bios thing wrong though

#

Cause qemu won’t recognize it as bootable

#

Does your bios check for the magic, ATP?

spare quartz
#

no

#

oh

#

your thing ran

timid quartz
#

oh?

#

also I uh HAVE now realized that the bios magic might be uh

spare quartz
#

its doing nothing

timid quartz
#

Getting superimposed inside the code

spare quartz
#

all it did was cause the cpu to endlessly loop

timid quartz
timid quartz
spare quartz
#

running in qemu does the same thing

timid quartz
#

again I think my bios thing is borked

#

oh well

spare quartz
#

AA STOS m8 ZO Valid Valid For legacy mode, store AL at address ES:(E)DI; For 64-bit mode store AL at address RDI or EDI.

timid quartz
#

o well

#

it was worth a shot

#

honestly in the os class the bootloader was the thing they went over the least

#

they went over booting conceptually but that was abt it

#

most of it was focused on other os subsystems + design choices

timid quartz
spare quartz
#

i just codd thaat in

timid quartz
#

i mean the zig thing

#

u could make it work

spare quartz
timid quartz
#

CLIPPY

timid quartz
spare quartz
#

why not......

timid quartz
#

babio.

spare quartz
#

what about babio...

timid quartz
#

sus

spare quartz
timid quartz
#

too much lewd

spare quartz
#

shes japanese

#

what do you expect

timid quartz
#

not all japanese people are like this

#

she's just weird

spare quartz
#

all japanese people are like this

timid quartz
spare quartz
#

ok kohaku

timid quartz
#

this is false

spare quartz
#

this is true

timid quartz
#

it's cause she's japanese and furry and weird

spare quartz
#

average japanese raising process

timid quartz
#

we can go back in time and save bayachao

spare quartz
#

dont

#

youll end the world

timid quartz
#

timid quartz
#

even kotlin is better

spare quartz
timid quartz
#

you know what it means

spare quartz
#

WHAT will rot my brain

timid quartz
#

the bonk

spare quartz
timid quartz
#

I think you know what I mean by that

spare quartz
#

I do not!

timid quartz
#

smh

spare quartz
timid quartz
#

IT'S TRUE

spare quartz
#

False

timid quartz
#

and that's literally half of her twitter

spare quartz
#

I feel fine.

timid quartz
#

you'll regret it later

#

trust me

spare quartz
#

Nah

#

I won’t

spare quartz
#

I need more tape…

#

My glasses are falling apart again…

timid quartz
spare quartz
#

To the frames maybe but you’ll need a lot of force for the lenses

#

Stupid dumb lenses

timid quartz
#

speaking of lenses

#

i gotta get new lenses

spare quartz
#

Me too

timid quartz
#

cause my prescription in my left eye actually went down a little

#

like...closer to 0

#

"down"

spare quartz
#

Mine are scratched and has some bad spots… I think they’re still good

timid quartz
#

went from like -6.5 to -5.5

#

said it'd be less work for my eyes or smth

spare quartz
timid quartz
#

real

spare quartz
timid quartz
#

mmmm

#

what distro should I put on my macbook instead of nix

timid quartz
# spare quartz
package xyx.aerasto

import org.jetbrains.exposed.v1.core.StdOutSqlLogger
import org.jetbrains.exposed.v1.jdbc.Database
import org.jetbrains.exposed.v1.jdbc.insert
import org.jetbrains.exposed.v1.jdbc.select
import org.jetbrains.exposed.v1.jdbc.transactions.transaction
import kotlin.system.exitProcess

fun main() {
    Database.connect("jdbc:postgresql:test", user = "postgres", password = "test")
    println("connected")

    println("enter")
    val thing = readln()
    if (thing.length > 28) {
        println("too long")
        exitProcess(-1)
    }

    transaction {
        addLogger(StdOutSqlLogger)

        val entryId = Entry.insert {
            it[value] = thing
        } get Entry.id

        println("created entry with id $entryId")

        Entry.select(Entry.columns).forEach {
            println("${it[Entry.id]} - ${it[Entry.value]}")
        }
    }
}
timid quartz
#

read code

spare quartz
#

I can’t

timid quartz
#

u can figure it out

spare quartz
#

I’m on phone

spare quartz
timid quartz
#

but

#

it's just me trying exposed (kotlin orm) out

spare quartz
#

orm…

#

OH I KNOW

timid quartz
# neat juniper gentoo

real...it would actually be pretty useful cause it has to have special kernel modules anyways

spare quartz
#

x86 Logical OR /r
modr/m, rm (r)

#

that’s what you mean!!!

neat juniper
#

x86? in the big 25?

#

risc-v is where its at

timid quartz
#

object relational model

spare quartz
#

risc-v sucks ass

neat juniper
#

nuh uh

spare quartz
timid quartz
#

im going to orm

spare quartz
#

orb is where it’s at btw

timid quartz
#

(y)o(u)r m(om)

spare quartz
#

splitting reflection

timid quartz
#

it's just a your mom joke

spare quartz
#

yuuup

#

god I need water…

#

I’m .. porched

timid quartz
#

parched

#

unless you mean you're on the porch

neat juniper
#

good idea, i too am thorsty

spare quartz
timid quartz
spare quartz
timid quartz
spare quartz
timid quartz
#

[macOS partition][???]

spare quartz
#

sounds like you're all set

#

but you are asking the wrong person

#

why would know anything about linux distros

timid quartz
#

idk

#

cause

#

you're generally into computers

spare quartz
#

@flint belfry help him

spare quartz
#

i just like computers [with nothing on them]

timid quartz
#

eugh or I could use this thing....

timid quartz
#

but other than that it's fun to mess with

spare quartz
#

linuxphobic

timid quartz
#

chaophobic

#

kotlinphobic

#

at least I’m not rustphobic

spare quartz
timid quartz
#

yep ❤️

spare quartz
#

ew.

timid quartz
#

there’s no such thing as a bayachao or a kotlin so I can’t really show you a picture of what you like

spare quartz
flint belfry
spare quartz
timid quartz
flint belfry
#

well depends what macbook

timid quartz
#

T2

#

lol

#

Ubuntu, Fedora, Arch, Nix, Gentoo

spare quartz
#

does it support java

neat juniper
#

every linux distro supports java

spare quartz
#

no i just want java

neat juniper
#

boots straight into java?

flint belfry
spare quartz
#

or any mac computer

flint belfry
#

no

#

i got a m1 for free

#

used it for like 2 years

#

then got a framework since the macbook sucks to repair and has atrocious repair prices

spare quartz
#

on the latest intel macs there are T2 security chips which do things

flint belfry
#

latest Intel???

flint belfry
#

didn't apple throw away intel

#

for their own cpu

spare quartz
#

yes

#

aera is using an intel mac

flint belfry
#

what release date

spare quartz
#

@timid quartz model

flint belfry
# neat juniper

i wish i got the fw 12 or whatever though the 16 is kinda power hungry

neat juniper
#

i got a 13

#

ngl i kinda want to get the risc-v mainboard for it

spare quartz
flint belfry
neat juniper
#

i might have to get an unofficial one though, since the official one has a kinda bad CPU

#

does not even support vector

#

there is an unofficial one with a better chip

timid quartz
spare quartz
#

MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)

#

i assume thats not it

#

whats the name before that

timid quartz
#

That’s it

spare quartz
#

... product name?

flint belfry
#

oh

spare quartz
#

okay

timid quartz
#

Yep that’s mine

timid quartz
#

i7 16GB 512gb

spare quartz
#

product page @flint belfry

timid quartz
#

maybe I’ll use Gentoo again

spare quartz
timid quartz
spare quartz
#

already saw_______

#

in fact it is the 11th in my bookmarks rn

timid quartz
spare quartz
#

oh right

#

need to get back to wplace

#

to finish drawing the thing

timid quartz
#

the thing?

spare quartz
timid quartz
spare quartz
timid quartz
#

normal art

timid quartz
#

bayachao omaneko

spare quartz
#

pixiv doesnt let you directly copy image links for some reason

timid quartz
#

she needs to make more normal art

spare quartz
#

how do you ocnsider that normal

spare quartz
#

i do not

#

because that is a guy.

lone sky
#

@spare quartz the future is Now

timid quartz
#

is that the only reason

spare quartz
lone sky
#

thank you for such insights, ms. ばやちゃお

spare quartz
#

does this count as "normaal art " aera .

timid quartz
timid quartz
spare quartz
#

we do not know why.

#

(i HATE pies)

timid quartz
#

Do you not consider it normal

spare quartz
#

yes.

#

because i despise pies

timid quartz
spare quartz
#

wondering .

timid quartz
#

lmao what

spare quartz
timid quartz
spare quartz
#

they have 2

timid quartz
spare quartz
timid quartz
#

what’s uh

#

the other one you’ve been posting recently

spare quartz
#

who

timid quartz
#

idk

spare quartz
#

pls show image

timid quartz
#

idk!!

#

don’t have one

spare quartz
#

i mean when you've found it

timid quartz
#

you’ve just been posting them recently y

spare quartz
#

got me rough down

timid quartz
spare quartz
#

also saw that one

#

(the artist of that is in the makemon discord server too)

timid quartz
#

wtf is this shit with sapphire in it 💀

spare quartz
#

huh

timid quartz
#

that’s enough twitter for today

spare quartz
#

??

#

what did you see

timid quartz
#

ah it’s あゆただ

#

That’s who I was thinking of

lone sky
#

oh

spare quartz
#

oh

#

its just ayutada_kemono i think

timid quartz
#

I think it’s from the early access JP ver of debikone

spare quartz
#

well considering how there is only one version of debikone and thats the jp version i think its redundant to specify

#

but send the twitter ID

spare quartz
timid quartz
#

live view of the Internet ever since devil connection

spare quartz
spare quartz
#

oh my GOD japan is so dense with art now

timid quartz
#

people are just shameless*

spare quartz
#

IM GONNA KMS

#

LOOK AT RICKS EYES

timid quartz
spare quartz
#

texas is also getting dense with art jeez

#

@timid quartz 2 nukes created bayachao

#

3 nukes creates superchao

spare quartz
timid quartz
spare quartz
#

nope

#

we're going to watch the marvelous yi in devil connection

#

(and hope it doesnt cost a liver to buy)

timid quartz
spare quartz
#

26

timid quartz
#

0xDEADCHAO

spare quartz
#

H is not a real number

#

neither is O

#

かぐや

flint belfry
#

oh it's those

#

with the little screen on the keyboard that's cool

timid quartz
spare quartz
#

also the "0x" part doesnt make sense then

#

it'd have to be Ax which again is not how it works

timid quartz
#

It could be how that works if you build a parser for it

spare quartz
#

okay but this is a math thing not a computer thing

#

go bring it up with the people who invented radix

timid quartz
spare quartz
timid quartz
spare quartz
#

id use 5 for H

#

0xDEADC5A0

timid quartz
#

YOU SAID THE THING HAHA

spare quartz
#

DIE

timid quartz
#

YOU SUPPORT CHAO DEATH

#

!!!!!

spare quartz
#

0xDEAD6757

#

god rust is not easy to spell at all

timid quartz
#

:3

spare quartz
#

0xDEADAE6A

timid quartz
#

Security through using letters that are hard to make in hex

flint belfry
timid quartz
flint belfry
#

considering how much fedora supports

timid quartz
#

0xDEADA74

#

ugh nothing really works for P

spare quartz
#

9?

#

[39]

timid quartz
#

So 0xDEADA79

spare quartz
#

ちゃお!ちゃお!ちゃお!ちゃお!ちゃお!ちゃお!ちゃお!

timid quartz
#

0xDEADC5A0

#

I’m going to make a binary format and use that as the magic

spare quartz
#

0x7EA1C5A0

#

OMG

#

@timid quartz YOU JUST GAVE ME AN IDEA

timid quartz
spare quartz
#

when a program eventually runs CPUID im gonna give them the vendor ID chaochaochao

spare quartz
timid quartz
#

0xFA4EC5A0

spare quartz
#

lie

timid quartz
#

Fake chao

spare quartz
timid quartz
# flint belfry oh idk Mac 😭

The fun thing about the T2 chip is that the OS has to do a little handshake with it to enable some peripherals like the keyboard

#

Which requires a kernel module at boot

lone sky
#

@timid quartz

spare quartz
#

DELETE THAT RIGHT FUCKING NOW!!!!!!!!!

lone sky
#

smh.

spare quartz
#

@lone sky wait

#

oml

#

its gonna appear in the logs

#

im cooked

#

💔

lone sky
#

CRUCIFY

#

CRUCIFY

#

TERMINATE

spare quartz
lone sky
#

SAW IN HALF

spare quartz
#

DO YOU MEAN

#

CROSETTO..

spare quartz
spare quartz
#

you need to start joymaxxing, unfunnylad.

lone sky
lone sky
#

SESSION TERMINATED.

flint belfry
spare quartz
#

shes rosettomaxxing

#

and thats better.

lone sky
spare quartz
lone sky
#

GET IT AWAY

timid quartz
#

If it was bayachao art I can only guess

spare quartz
#

the stupid

#

spamtom cat image

timid quartz
#

OH LOL

#

bro that image is horrid

timid quartz
spare quartz
timid quartz
#

use matrix, simplex, etc

#

telegram 👎

lone sky
#

@spare quartz COME TO WHATSAPP

spare quartz
#

use matrix, simplex etc.

  • inferior
  • inferior
lone sky
#

IT'S BETTER IN THERE

spare quartz
timid quartz
#

ew whatsapp

#

Are you being fr rn

#

bffr

spare quartz
#

he's mexican

#

100% real

timid quartz
#

true

spare quartz
timid quartz
# spare quartz

civil authorities in your area have reported you for crimes against the internet

timid quartz
#

now I am become deaf, destroyer of words

spare quartz
#

help

#

I wanted to go sleep

#

but

#

I just realized the bottom layer of my hair still has unwashed soap

#

😭

timid quartz
#

oh rip

lone sky
#

BETTER NOT BE ABOUT ROSETTA MAC OS X64_86 COMPATIBILITY LAYER FOR APPLE™ SILICON DEVICES

timid quartz
#

welp

#

go run your head through the shower again

spare quartz
#

NOOOO

lone sky
#

@timid quartz ATP WANTS TO CRUSH ME

#

HELP

spare quartz
timid quartz
lone sky
spare quartz
#

OW

spare quartz
#

just stabbed myself with a hatchet 💔

timid quartz
#

tetanus time

spare quartz
#

ITS CLEAN

timid quartz
spare quartz
#

clean.

lone sky
#

kokuri 2???

spare quartz
lone sky
spare quartz
lone sky
#

DIE

timid quartz
spare quartz
#

admit it

timid quartz
spare quartz
#

CYUPIDIEL MIGHT BE THE CUTEST THING EVER MADE

timid quartz
spare quartz
#

NO

spare quartz
timid quartz
#

Kupyadel

spare quartz
#

look at …

#

them!!

timid quartz
#

it*

spare quartz
#

them^

timid quartz
#

Japanese has no sense of pronouns

spare quartz
#

Yes it does

timid quartz
#

it*

spare quartz
#

Them*

#

Wokechao.

timid quartz
#

cringechao

#

0xDEADC5A0

spare quartz
#

Go woke go ちゃお!

#

をけちゃお

timid quartz
#

go cringe go chao

spare quartz
timid quartz
#

obsessed with its DOWNFALL

spare quartz
timid quartz
#

it*

spare quartz
#

her*

#

i wonder what would happen if bayachao failed to get into art school

spare quartz
timid quartz
spare quartz
#

HERES MY BETS FOR DEVIL CONNECTION

#

it’s gonna be like omori

#

but full of yaoi

#

and stealing stuff from people

#

🙏

#

6 gy

rustic vine
#

goat

spare quartz
timid quartz
#

all my homies write local function

spare quartz
#

harry knows more than me about it but local functions can be better optimized than global ones

timid quartz
#

and NONE of my homies do the gay ass shit that is local name = function()

spare quartz
#

💪💪💪💪

#

another win for HotSpot

timid quartz
pastel tinsel
#

😭

spare quartz
pastel tinsel
#

what is this 18th century arguing

timid quartz
spare quartz
spare quartz
#

I. AM. LITERALLY. LESS. THAN. A. YEAR. FROM. NOT!!!

spare quartz
#

YOU. ARE. A MINOR

timid quartz
spare quartz
timid quartz
#

keyboard

spare quartz
#

uhhh yeah 911? this guys using rust

#

go beat him up and deport him

timid quartz
#

Wait wrong

pastel tinsel
#

or ICE

lone sky
#

AERA.

#

AERA...

spare quartz
#

its his cope for being whiter than bayachao

timid quartz
#

what

#

racism

spare quartz
timid quartz
#

@mods ban this person for racism

pastel tinsel
#

aera

#

KILL HIM

lone sky
lone sky
#

how is that even harrasment 🥀

pastel tinsel
#

I said quit

spare quartz
#

peak.... peak.......

proud creek
proud creek
spare quartz
#

for what reason..

proud creek
#

uhhhhh

#

i would like to observe it...

spare quartz
#

(griefing gets you banned!!!!!)

proud creek
#

(it doesnt even let me make an account 😭 )

pastel tinsel
#

what are they gonna do

#

ip ban

#

?

#

just make a new account ❤️

spare quartz
#

sure but they generally also just ban your email

#

also cause its a dick move so yknow dont

lone sky
#

honestly yeah

pastel tinsel
spare quartz
lone sky
#

requires a google or twitch account

#

soooo

spare quartz
#

infinitely more larger than the r/place one

#

so i dont mind

pastel tinsel
#

google or twitch lmfao

#

why twitch

lone sky
#

mhm

#

no fucking idea

proud creek
#

login with lego type shit

lone sky
#

don't ask me mr. [this message has been redacted to safeguard this user]

timid quartz
timid quartz
#

WRONG

#

should be >=2