#🪅-progaming

1 messages · Page 125 of 1

hearty lintel
#

To your questions:
We were actually done with Level 5 after roughly 1.5 hours. At that point we already sat at first place in our region and basically lost all motivation to stay on-site, because the whole thing stopped being fun once it turned into "who lets AI run the fastest." So we left.

From about 1.5h to ~2.5h we were on our way home, so we didnt do anything there. We only continued once we arrived.

We used a mix of agentic coding tools, mostly ChatGPT Codex, since some of our team had ChatGPT Plus. The agents themselves didnt take long, usually 5 to 15 minutes. The real slowdown was Level 7: the agent produced a terrible approach, just a multithreaded solution. So we had to let a very powerful machine chew on it (Just a regular beefy gaming pc though). That computation with the agent iteratively tweaking the code to match the required output took around 1 hour.

As for tiers: we used normal free ChatGPT and ChatGPT Plus, nothing more exotic.

Basically our workflow was like:
Put the pdfs, input files / output files into the working directory
Let a chatgpt generate a base prompt for codex
Gave the generated prompt to codex cli and approved all requests
Checked if the example output matches the actual example output
Uploaded the generated output files (Which worked fine)

We didnt need to really thinker much with prompts, etc - Just let ai do the work

lucid trail
#

are you applying through UCAS as well?

hearty lintel
#

heres their first message:

For those wondering: Yes, we scored both first and second places. And to answer the question above: We didnt even open the PDFs. AI solved everything for us.

Note: This isnt directed at the organizers. We genuinely appreciate the time, effort, and passion behind the contest. Our frustration is with the fundamental shift AI has created not with the team running the event, and not with participants who use the tools available to them. Ignoring AI isnt an option; it exists, and its an actually great tool!

The point for us wasnt to "win". We wanted to show the underlying issue. Thats why we also left our region and didnt go to the award ceremony - We dont want the price ChatGPT earn for us. We dont want to support this direction. The coding contest simply isnt what it used to be now that AI can wipe out entire task sets in literal seconds.

It is extremely frustrating to see that genuine problem-solving doesnt stand a chance anymore. People who use AI immediately dominate the scoreboard and of course we understand why they do it. It is rational. But it kills the spirit of the competition.

We are currently thinking about possible feedback or improvements, but honestly... finding a real solution feels nearly impossible.

Thanks for reading we hope you all had a great CCC and enjoyed the atmosphere.
Best wishes to everyone!

Sincerely,
KI_ist_unverdient & ai_usage_is_no_fun

#

sorry for huge blocks of text

#

i respect their transparency and for not taking the prize money

solid gazelle
#

i fixed

valid jetty
#

well i just happen to be obsessed with low level programming

#

web dev and front end programming bores me, and is also very oversatured (every programmer and their mother is doing web dev)

#

the only web dev programming i could see myself doing is writing a wasm backend for elle (or, specifically qbe to wasm) and getting it to run in the browser

hoary sluice
#

i saw them last year

#

i was #1 they were #2

valid jetty
#

ai can also spit out decent front end code

hoary sluice
#

in st pölten

valid jetty
#

but it cannot for lower level code, at least not well

hearty lintel
hoary sluice
hearty lintel
#

(really good)

hoary sluice
#

theyre all retards

valid jetty
hoary sluice
#

informatics department has a few good programmers

valid jetty
#

i dont use ai i have no idea how good it actually is

hoary sluice
#

like the guy who posted this

valid jetty
#

im just going based on what people have been telling me

#

if there are tools like uhhh idk whatever that tool was

hearty lintel
valid jetty
#

the tool that can generate a website

solid gazelle
hoary sluice
valid jetty
solid gazelle
#

code

#

i will see

valid jetty
#

IGNORE I SAID THAT

#

lovable

#

that tool

solid gazelle
#

What

valid jetty
#

llvm has a wasm target

#

just use that

hearty lintel
solid gazelle
#

see straight through ro ie

valid jetty
#

i always get them confused

solid gazelle
#

DUDE IM LITERALLY SLOW

hoary sluice
#

@hearty lintel they deleted the messages lmaooo

hearty lintel
#

eagely do u feel sad like i do right now
i did a few coding contests before and they were so much fun

#

now its just gonna be all AI

#

the state of the game has been changed

hearty lintel
lucid trail
#

why were you considering vibe coding @valid jetty

hearty lintel
#

😭

valid jetty
#

im doing just fine not vibe coding

#

cc: @lucid trail

lucid trail
valid jetty
#

that sounds like a very easy way for me to do well in my homework and absolutely fucking fail exams

#

that's why i don't vibe code or cheat to get the answers

#

that way my assignment scores line up with my exam scores

lucid trail
valid jetty
#

my physics assignments were kinda easy, well not easy but easy enough that i could do them without help

#

and then i went into the exam.

#

i got 18/35 on that exam

#

it was gravitational fields and nuclear physics

#

i'm gonna try find that test so i can show how difficult the questions were

#

give me a second

#

oh also 18/35 was good

#

people around me were getting [9, 13]/35

#

my friend who usually does well got 16/35

#

my other friend who usually blows me out of the water got the same score as me lol

#

it was a fucking painful test

#

i really like physics now

#

i think i ask the most questions in physics out of all my subjects

#

no lol

#

at least not at a more advanced level

#

the theory gets more complicated than just relations and models

lucid trail
#

hm actually i dont think i can say anything regarding what the difficulty is like in exams in uni

#

but our exams are worth 80%, assignment or quizzes worth 20%

#

so true!

valid jetty
#

@lucid trail @lyric latch look at this shit

valid jetty
#

these are questions from my last test

lucid trail
valid jetty
#

it's uhhhhhhhhhhhhh

#

much harder than the homeworks we were given as preparation that's for sure

lucid trail
#

i think i could do the first one, idk about the second one

solid gazelle
#

ro ie 💖 🎀

valid jetty
valid jetty
#

this one is not quite as hard

#

i think i got 8/10 on this one

#

this is the last question, i don't think i know anybody who got this right without having seen this question before in revision papers

#

(specifically the last screenshot is the hard part)

#

oh and in case it wasn't clear, you can't use escape velocity there because the distance changes

lucid trail
valid jetty
#

this is the working :)))))))

#

this is the working for the other ones

lucid trail
valid jetty
#

i always wonder why the stuff i'm taught here is so much more difficult than what people online are tought in other countries

valid jetty
#

written by my teacher digitally

lucid trail
valid jetty
#

no!!! not a jumpstart i hate this

#

i wanna program all day i don't wanna learn about dhcp and subnet masking

lucid trail
#

ontarios hs education system is pretty shit, but i got a lot of time to do extracurriculars

solid gazelle
#

@valid jetty make cargo for elle

valid jetty
#

maybe at one point i will

winged mantle
#

carstop

valid jetty
#

@lucid trail @lyric latch look at these questions in my homework lmao

#

genuinely none of these questions are easy lmao

#

all from the same homework btw

#

try them

#

try to solve them

#

try to solve any of them

#

i'll give you a cookie if you can solve one

lucid trail
valid jetty
#

so try to solve them :)

#

i have an exam on these kinds of questions and more in like feb-march ish

#

oh fuck i also have a mock in january

#

bfaehibihaebfihaebfiuwefbwbeiuwehfweuihfewiufhwekufhwefuhfiuwehiufew

lucid trail
#

there was a point in my life where i could solve them easily, i’ll try them i suppose

hoary sluice
#

@valid jetty im not a vibecoder

#

im a vibe engineer

valid jetty
#

dont give linkedin any new ideas

hoary sluice
#

linkedin is fucked alreado anyways

#

honestlo

#

honestly

#

just do cybercrime

#

send fake invoices to google

#

they wont notice

#

@valid jetty what is the best github alt

lucid trail
#

it’s so over for me

hoary sluice
valid jetty
#

i use it because its very minimal and fast

#

it doesnt take 5 years to load on slow internet

#

unlike github

winged mantle
#

i tried to find other options for migration tools and found something using c# so probably

#

is there a way to disable ai generated commit on the github website

elder yarrowBOT
# winged mantle vai

Yes, you can disable AI-generated commit messages on the GitHub website. You can do this by navigating to your GitHub Copilot settings and disabling the relevant features.

-# Response generated by gemini-2.5-flash. AI may be incorrect or misleading.

winged mantle
#

oh you can disable it now

#

i swear there was literally a 🔒 icon before

crude star
#

and also before they forced Anubis

#

they work faster than forgejo though

hoary sluice
crude star
#

annoying

pseudo sierra
#

ngl I got rid of anubis on my shit cuz it didn't really do anything and only made accessing annoying especially on phone

winged mantle
#

for some reason i have some code where i wish i could write &mut in typescript

hoary sluice
#

@hearty lintel

#

tbfr the orga team did nothing they only ate pizza and announced that catcoder was down

#

but i wanted to stay respectful

royal nymph
#

I just moved back to github

winged mantle
#

are there any people who say dx is good on windows not using wsl

hoary sluice
#

there is no way to make dx good on windows

#

i tried

#

and my dad tried

#

my dad is using vmware running basically a full passthrough opensuse vm and it obviously has problems because of windows

#

im just using wsl and cant be bothered to set up vmware or whatever cause ik itll be bad anyways

solid gazelle
jade stone
#

@nimble bone i love having five typescript compilers/bundlers in one package

nimble bone
#

@jade stone satan

nimble bone
#

vengit

pseudo sierra
#

true

jade stone
ornate quiver
#

because it varies wildly between languages and toolchains

#

from my own experience web dev, android and dotnet is perfectly fine on windows

#

no wsl

ornate quiver
winged mantle
jade stone
ornate quiver
winged mantle
#

replace dx in what i said with developer morale

ornate quiver
winged mantle
#

tbh on windows i try to remove a folder recursively on the command line and it's just not intuitive

#

even with the recurse flag it wasn't recursing

#

that's not the best dx whatever language you';re using

jade stone
shrewd canopy
#

Complain to URI spec

winged mantle
#

windows bad because it's not what i'm familiar with trolley

jade stone
winged mantle
#

do you have to put %20 in windows filenames for them to work

jade stone
jade stone
solid gazelle
#

well ive also tried out rust

ornate quiver
#

oh rust is perfectly fine too
as long as you're not dealing with crates that bind to c libraries

solid gazelle
ornate quiver
#

also 95% of the issues about cli and paths is easily resolved by using git bash or cygwin

supple whale
#

it just fucking works on windows

#

and it works so well it's disgusting

#

even the craziest cross complications also just work

#

I wish CPP was like that

shrewd canopy
supple whale
#

it's a joke that never works correctly

paper scroll
#

windows sucks

supple whale
#

CPP sucks

paper scroll
#

no?

ornate quiver
#

both

shrewd canopy
shrewd canopy
paper scroll
#

windows sucks for everything but spyware anticheat

shrewd canopy
paper scroll
#

youll never know lol

shrewd canopy
woven mesa
#

gm

crude star
#

you can use >10 year old nvidia drivers just fine on linux

#

its not like nvidia updates them on windows either

gilded surge
#

sage advice, and also very true

ornate quiver
nimble bone
#

the line between rushii and malware is very blurry

valid jetty
#

@lucid trail

lucid trail
#

you're adding the values on the registers and returning them, yeah?

valid jetty
#

asm and naked are not existing keywords

lucid trail
valid jetty
#

does cranelift have inline asm:question:

lucid trail
#

looks like theres some limited support

lucid trail
# valid jetty

that's a smaller diff comparatively, the issue said it'd take like 3-6 months of fulltime work to implement it in cranelift

valid jetty
#

idk i just went and added it to qbe since i need it for so many things

lucid trail
#

interesting

valid jetty
#

the only problem was the lack of readability

lucid trail
valid jetty
#

though the source code is still readable enough if you know C and know what youre looking for (which i did)

#

im glad they at least documented this

lucid trail
#

the hell

valid jetty
#

pinned instructions dont have GCM applied

#

i wouldve struggled for a while to figure out how to get around that if they werent documented

lucid trail
valid jetty
#

global code motion

lucid trail
#

makes sense

valid jetty
#

its basically moving instructions somewhere where they execute less often without changing the behavior of the program

#

and well.. it should be clear what pinning means then

lucid trail
#

yep

#

i read about it recently

valid jetty
#

yeah basically that

lucid trail
lucid trail
valid jetty
#

no just general instr flags

pseudo sierra
#

@nimble bone would be more than happy to help

solid gazelle
#

dm @nimble bone

clear thunder
#

886685857560539176

crude star
#

satan @jade stone if you give him money

delicate sinew
#

Me as long as you actually know how to code

#

I might deny if the questions become too ridiculous though

hearty lintel
# hoary sluice

yea i agree that trying to confuse LLMs is only gonna confuse humans more and make the puzzle worse

hearty lintel
#

the third suggestion might be difficult to enforce tho

#

if they cant enforce the ban very well, the winners will be the people who are the best at hiding it
and just like some students who are falsely accused of writing AI generated papers by professors, this will happen to coders in coding competitions too

#

tbh i think its best to not ban it but i dont have a good solution of what to do about the problem

#

i think coding contests are not gonna be fair competitions anymore, not with LLMs existing

lucid trail
#

is there a way to do this by using foldr instead of (reverse (foldl ..))

hearty lintel
# hoary sluice

tbh i dont understand the meaning behind this

LLMs can be handy as typing assistants for boilerplate functions that have been written a million times, but they’re not ready for enterprise use and therefore not ready for the coding contest and need to be moderated in some way. If LLMs were tools ready for production and not just autocomplete on drugs, the leaderboard would be packed with 3-minute Level 8 solves, not just a single team solving level 7 after three hours.

#

The top two teams proved that LLMs can solve the problem the fastest

#

companies are mostly interested in getting the most value from labor, which means cutting costs

#

if LLMs can do the job while saving them money, they will use them

frosty obsidian
#

i think removing the global leaderboard is an okay decision

#

it did kinda encourage speed over anything else and probably put pressure on a lot of participants

hearty lintel
frosty obsidian
#

i don't understand using llms for this anyways

#

isn't the point figuring out the solution on your own

frosty obsidian
#

kinda takes the fun out of puzzles

hearty lintel
#

i actually was thinking about purely using LLMs to get the fastest time and then i didn't because it wasnt fun

#

i just used it as a search engine instead of making it solve the whole thing

crude star
#

i felt like the global leaderboard being so insane even before llms already took the fun out of it

#

i dont miss the global leaderboard

hearty lintel
#

and u can decide the rules for urself

hoary sluice
#

This is a dozen wrong solutions you'd put in your enterprise code

hearty lintel
# hoary sluice They solved level 7, didn't solve level 8, and it took them 3 hours and at least...

heres what they said, i guess it could be 3 hours total if level 6 took 0.5 hours

We were actually done with Level 5 after roughly 1.5 hours

From about 1.5h to ~2.5h we were on our way home, so we didnt do anything there. We only continued once we arrived.

The agents themselves didnt take long, usually 5 to 15 minutes. The real slowdown was Level 7: the agent produced a terrible approach, just a multithreaded solution. So we had to let a very powerful machine chew on it (Just a regular beefy gaming pc though). That computation with the agent iteratively tweaking the code to match the required output took around 1 hour.

#

the wrong attempts were just fixed by running a more powerful machine, which was just their gaming rig

#

surely enterprise have better rigs

#

im not saying human programmers are gonna be replaced

#

just reduced

#

yea u just dont need as many experienced programmers anymore

#

when the AI is doing the heavy lifting

#

yea u still need to know enough if the AI is correct, but u dont need a bigger team to complete the same project anymore

hoary sluice
hearty lintel
#

true, but there are a lot less farmers now

hoary sluice
#

"the agent produced a terrible solution" this is why llms are too widespread

hoary sluice
# hearty lintel surely enterprise have better rigs

if your service that serves 3 million customers is slow, a good enterprise rig isnt gonna save you, and itll cost you a lot mone money
what you could do instead is hire a software engineer that knows what hes doing and let him write you an optimized solution

hoary sluice
#

or even medium size

#

same for you

#

llms are completely useless for enterprise projects

#

theyre not "better farming tools"

#

theyre useless

#

they CANT write a solution

#

in the ccc the only reason they gave a solution in the end is becaues its a tiny project

#

with no context needed

#

im using them right, ive been using them every day since 2022

#

until recently

#

i only use copilot now

#

llms wasted a lot more time than saved

#

it tends to say a whole lot of nothing in a whole lot of words, adds a billion comments to your code, makes it way more verbose, but doesnt fix the issue

#

for example writing a voice assistant in rust, writing a mail gateway in quarkus, migrating a project from thymeleaf java spring to kotlin angular, writing a nutrient label generator inside a giant monolith, etc and for my personal project too

crude star
#

jobs should die and then we get ubi i think

hearty lintel
#

yes thats what im saying, ur making the same point im making btw

hoary sluice
#

if you tell it exactly what to do, your codebase is tiny, youre using python or react or another simple/popular language/framework, and you're lucky

hearty lintel
hoary sluice
#

copilot (not copilot chat) is useful when eg. adding a new attribute to a class and having to fix the constructor

hoary sluice
#

most of the time you cant fit "where to look" into its context window (not the 100k one or whatever, the one where itll actually remember without you having to remind it)

hearty lintel
hoary sluice
#

all but aoc

#

aoc is actually quite a good measure of your skill

#

imo

hoary sluice
#

if you can do aoc 2024 day 24 without llms (they already have the solution in their training data) theres a 99.9% chance you can also build a large enterprise app and it wont take you long to learn all the infrastructure like docker jenkins nexus and whatever else

#

yea i liked competing in it but its much better when im doing it for fun

#

lmfao

hearty lintel
#

@hoary sluice ive been asking about LLMs in enterprise and someone showed me this
https://release.com/

#

it looks like they're selling epheremal environments with LLM-assisted development as a service?

#

and they have case studies on how its being used in enterprises

#

to prevent bugs introduced by AI, they have an environment that tests it instantly

#

not 100% sure what to make of it, so let me know ur thoughts

nimble bone
#

eageler is vibe coded

pseudo sierra
#

nina is the vibe being coded

hoary sluice
#

all their marketing is lies

#

its all bullshit

pseudo sierra
#

me when the ai slop has ai slop marketing

jade stone
#

mfw all my sources are html fr

#

guhhhhhhhhh

pseudo sierra
hoary sluice
#

@rosi

#

@valid jetty

#

i deleted my ssh key

#

idk why

#

im retarded

#

now to migrate to codeberg instead of pressing migrate i have to run this

git clone git@github.com:eagely/$1 && cd $1 && cp ../mig.sh . && ./mig.sh && git remote set-url origin ssh://git@codeberg.org/eagely/$1.git && git push origin main
#

i could just run mig.sh immediately

#

but

#

Im stupid

#
git rebase --committer-date-is-author-date --root --exec 'export GIT_AUTHOR_DATE="$(git show -s --format=%aD HEAD)" && export GIT_COMMITTER_DATE="$(git show -s --format=%cD HEAD)" && git commit --amend --no-edit -S'
pseudo sierra
hoary sluice
shrewd canopy
# ornate quiver the line between kernel ac and malware is very blurry

Malware doesn't need kernel access and doesn't need to be signed
Other one needs to be signed, even enforces signing, but also has to act like a cheat (run at kernel-level, hook syscalls, monitor processes, etc) to detect other cheats
Kernel-mode is also no longer all powerful today (hypervisor is)

valid jetty
#

this is sort of hacking the compiler

#

so i want to see what they think about this

nimble bone
#

sourcehut anoobis

nimble bone
#

lc.pfp @lyric latch @lyric latch

visual shellBOT
royal nymph
#

using nanobanana*

nimble bone
#

click on this

royal nymph
nimble bone
#

yea i took it

#

i'll turn you into a nanobanana @royal nymph

#

@royal nymph make nin0.vendicated.dev

royal nymph
royal nymph
nimble bone
hoary sluice
#

this isnt git

lucid trail
valid jetty
#

apparently that patch is for global asm

#

like at the top level

#

i specifically wanted asm as an instruction

hoary sluice
#

@valid jetty my small village in kazakhstan just got 800mbit 5g

#

i have 280 in vienna...

valid jetty
#

some sort of comptime type system shit

#

idk what im doing

hoary sluice
valid jetty
#

whats wrong with github

hoary sluice
#

rosie im doing aoc in icypeas

valid jetty
#

oh also i hit 200 followers recently

valid jetty
hoary sluice
valid jetty
#

ill be honest i dont even think elle is powerful enough for aoc

hoary sluice
#

ill still use github just not for my personal repos

hoary sluice
#

or maybe set up mirrors

hoary sluice
valid jetty
#

if theres a network problem in the next aoc i would kinda fail to do it in elle

shrewd canopy
valid jetty
shrewd canopy
hoary sluice
hoary sluice
shrewd canopy
#

You won't need to look at Git's code or even kernels code ever either

hoary sluice
crude star
#

good luck not getting ur code scraped

shrewd canopy
#

you use discord, and it scans your images already, you are potentially helping them to train AI

hearty lintel
elder yarrowBOT
royal nymph
#

lmfao

elder yarrowBOT
# royal nymph vai Review this code https://codeberg.org/eagely/adventofcode-kotlin/raw/branch/...

The AdventOfCodeClient.kt file provides a client for interacting with the Advent of Code website.

Review: AdventOfCodeClient.kt

This Kotlin file implements a client to fetch puzzle inputs and submit answers for Advent of Code challenges.

General Observations

  • Purpose: The code is well-structured for its intended purpose, making it easy to see how it interacts with the Advent of Code API.
  • Dependencies: It utilizes okhttp for HTTP requests, kotlinx.serialization for JSON processing, and kotlinx.cli for command-line argument parsing. These are standard and appropriate choices for such an application.
  • Functionality: It supports fetching puzzle input, submitting answers for both part 1 and part 2, and handling session cookies for authentication.
  • Code Style: The code generally follows Kotlin conventions, with clear function names and a logical flow. Data classes like PuzzleResult and SubmitResult are effectively used.

Minor Points

  • Error handling for network requests could be more granular, though the current approach with Result types is functional.
  • The session cookie is read from an environment variable, which is a common and acceptable practice for this type of client.

Overall, it's a concise and functional client for Advent of Code, demonstrating good use of Kotlin features and relevant libraries.

-# Response generated by gemini-2.5-flash. AI may be incorrect or misleading.

royal nymph
#

bro is yapping

hoary sluice
#

i just needed an auto input puller

hoary sluice
pearl stagBOT
nimble bone
#

@royal nymph love?

royal nymph
valid jetty
hoary sluice
#

i never knew how to code

valid jetty
#

oh ok

hoary sluice
#

all my projects are vibe coded

#

nah but fr i wrote the aoc client when i was just starting and didnt know how to write an api client and chatgpt just came out recently

winged mantle
#

some stuff i made i think now "that looks vibe coded"

#

even though i never vibe code...

#

it just.. really does

#

though I doubt you could make ai make something so.. special

valid jetty
solid gazelle
woven mesa
#

im so happy with this

#

wrong channel

winged mantle
#

Secondly, global variables take longer for Javascript to "find" than local variables. The difference in speed isn't huge, but it does exist.

#

citation needed

#

(from a stackoverflow post)

solid gazelle
solid gazelle
#

i think

winged mantle
#

The way JavaScript variable lookups work is the JavaScript engine will do a lookup on the current scope the variable is being looked up in. If it can't find it, it will do a look up on the next parent scope. If it doesn't find it there, it will continue looking upward until it reaches the global object looking for that variable
saw this in another post

#

surely this only needs to happen once?

#

why would it keep doing this?

solid gazelle
#

what you mean

winged mantle
#

surely it doesn't need to happen every time you read the variable?

solid gazelle
#

oh that idk

winged mantle
#

javascript requires explicit this sooo

valid jetty
#

i guess an optimization that v8 would probably do in JIT (ie, at runtime) is to cache the location of recently accessed variables as if theyre within the same scope their lookup wont change

hoary sluice
winged mantle
#

I can't think of a situation where the scope couldn't be worked out at parse time

#

i might be dumb

#

but at least i'm not stupid

#

oh, i guess eval exists

lucid trail
woven mesa
lucid trail
woven mesa
#

u can join tho

lucid trail
lucid trail
winged mantle
#

i managed to make such a bad syntax error the file can no longer be edited in neovim

#

i was just editing this and i made a typo

#

had to edit in regualr vim, after fixing syntax it works in neovim

jade stone
#

Invalid node type missing_node

hoary sluice
#

@valid jetty add the option to write functions with {} so its easier during aoc?

#

still no side effects tho

valid jetty
#

wdym?

nimble bone
#

eageler

royal nymph
#

Typescript made a really obnoxious change to the dom types where a lot of apis now require an Uint8Array<ArrayBuffer>.

Uint8Array (without generic parameter) is an alias for Uint8Array<ArrayBufferLike>, which is now no longer assignable to such places (yet the vast majority of node apis and libraries return this type)

so you now can't pass Uint8Array typed objects into places like new Blob([buf]), fetch(..., { body: buf }) etc without casting it tired

supple whale
#

I hate it

#

it's been a thing for like almost a year now

jade stone
#

this is very stupid

#

you'd figure if they're making such a change like that, they'd add a diagnostic for it

supple whale
#

I mean it's a necessary change

#

because it might be a locked, transfered or shared array buffer that's backing the data

#

but the problem is the VERY bad defaults on it

dawn ledge
dawn ledge
#

one of the problems of dynamic languages, especially ones with eval

dawn ledge
#

v8 optimizations are quite clever

#

there's a lot to learn from them

dense sand
#

is anyone familiar with fast java source code parsers? so far i only know spoon/javaparser, but they are quite slow in processing terms, so im looking for an alternative in faster language

jade stone
dense sand
jade stone
dense sand
jade stone
dense sand
#

i dont think this fits my use-case - what im doing is basically parsing out docs from maven central artifacts and serializing them into json

hoary sluice
# valid jetty wdym?

u know how the only way to make function definitions in icy is

foo int int int

foo 1 2 = 1
foo 1 _ = 0
foo _ 1 = -1
foo n m = signum (n + m)

should i keep it that way or allow

foo int int int

foo n m = {
    let sig = signum (n+m)
    let bar = sum (range -2 sig map *2)
    return bar
}
jade stone
dense sand
#

not sure if it would perform any better as javaparser though - in the end its all built in java

#

rn i can process 500 file jarfile(latest guava) with sourcecode in around 3.5s

jade stone
#

are you really parsing that much code

dense sand
jade stone
#

i think you could probably write some generic parser that just looks for comments

#

you could ignore thigns that dont look javadoc-like

jade stone
#

i think treesitter might work for you, but its build for syntax highlighting so im not sure how good it will be hrug

dense sand
#

okay

jade stone
#

its written in c, so it should be fast enough

jade stone
frosty obsidian
#

what

#

no

#

its in c

hoary sluice
#

@valid jetty i resigned all my commits in all my repos with a new keybecause i deleted the old one and i jsut now realized that i had the old one on my laptop

valid jetty
valid jetty
#

well if you wrote icypeas to be a functional language it does

hoary sluice
#

all functions are still pure tho

valid jetty
#

i guess it acts like do syntax in hs

#

sure i guess

hoary sluice
#

the block notation is only for ergonomics

#

so you can declare temporary variables

#

and this would transition nicely into io

valid jetty
#

yeah

hoary sluice
#

i have an idea on how to keep it pure functional and allow io

#

similar to unsafe in rust

#

i havent thought about this it might be stucpid

#

you cant call a function that does io from a pure function

valid jetty
hoary sluice
#

you can only pass io as its argumnets

valid jetty
#

this sounds like red and blue functions again

hoary sluice
hoary sluice
#

or i call io functions procedures husk

hoary sluice
#
proc main {
  let input = readln
  print (solve input)
}

solve string int
solve s = {
  output = foo bar foo bar s whatever pure function chain
  return output
}
valid jetty
#

true

valid jetty
hoary sluice
fleet cedar
hoary sluice
#

its pseudocode

#

its an alias if written like this, ye

winged mantle
#

hmm maybe sqlite is too sloppy for my taste

#

you need to opt into strict mode otherwise types are basically suggestions, you can't really store a uint64 (well, it's hard from js, in other languages you could just cast a uint64 to int64)

#

also you can';t add foreign keys to existing columns

#

peop;le suggest copying all rows of the table to a new one 😭

#

:( the ability to create an in memory db and have an easy dockerless setup is pretty compelling

winged mantle
#

that's more of a nitpick

fleet cedar
#

Do you mean you can't change a column to reference something, or that you can't create a new table that references a column?

winged mantle
#

the former

#

hmm, perhaps the equivilent of NUMERIC(20, 0) is DECIMAL(20, 0)

#

oh but DECIMAL is just TEXT

#

i mean.. in theory that doesn't matter too much. but i don't want it to be possible for the column to have invalid data

#

people have strong opinions about orms

#

they scare me

#

blobcatcozy i always think of this when i think of drizzle

#

i'm not convinced an orm would do anything good for me long term

#

i mean.. .it's just an abstraction

#

converting unsigned to signed feels like a better technical solution than just using a blob like drizzle does

#

actually idk

#

well... if it stores a binary representation then that's not really readable in select

hoary sluice
#
infix competitve programming script (icps)
-> icypeas
-> icy
``` the peas part was just a remnant of the old procedural lang that i wrote to learn how a programming langueage works
valid jetty
#

the days of i see piss are over </3333

hoary sluice
#

🥀 💔

winged mantle
#

ig kysely looks decent

#

but it's not really an orm

hoary sluice
#

anyways theres this nowhttps://codeberg.org/eagely/icy/src/branch/main/DOCS.md

#

the disclaimer is only because i havent implemented type inference yet

dawn ledge
valid jetty
#

already seen blobcatcozystars

#

but cool video

dawn ledge
#

the math was simpler than i expected

winged mantle
#

figuring out issues with tsx (typescript execute) is annoying because it's also used to refer to the other tsx :D

jade stone
#

Just pipe through esbuild

winged mantle
#

I'm trying to hop on tsx

#

I don't want to rely on experimental node features

winged mantle
#

i just wanted a simple solution :(

#

nothing is simple in js ecosystem

frosty obsidian
#

you should see other ecosystems

winged mantle
#

maybe i should just use tsc and then run sed -i s/.ts/.js/ dist/**/*.ts

#

i tried to use @swc-node/register but it is slow and sourcemaps weren't working

#

oh fixed it

#

need to actually enable source maps

supple whale
#

i could never get tsx to work with workers

#

annoyed the fuck out of me

#

and when i did shit like sourcemaps didnt work

#

pain of ts

#

then i went to use deno, and it still doesnt support ts in node dependencies just like node itself....

winged mantle
#

i feel like node has a lot of tools but not that many of them are great

#

and it's not actually that easy to deal with

supple whale
#

i legitimately considered using vite for nodejs so typescript works well

#

because rollup and webpack are still the only things that handle ts correctly

supple whale
#

read the sentence above

#

node and deno dont handle ts correctly

#

and neither do tools like tsx

solid gazelle
#

oh

supple whale
#

tsc works 95% of the time but has edge cases

#

and requires a fuckload of config for dependencies

#

that said, vite isnt perfect, its okay as a runtime, but not for compile time

#

shit like

function dynaImport(name: string) {
  return require(`./modules/${name}.ts`)
}

will make it shit itself

#

tho u can simply define that all files in a directory are dynamic importable, but it doesnt always work

#

tho libraries that do that, are simply fucking dogshit and i hate them

jade stone
dawn ledge
#

i think youre missing the point

hoary sluice
#

@valid jetty i just realized ive never written a fully production ready project

balmy lintel
#

Good

fleet cedar
#

Illegal and based

royal nymph
#

go has generics now blobcatcozy

winged mantle
#

ye

#

it's cursed how you still pass in types as arguments to builtin functions

royal nymph
#

can you show an example

winged mantle
#

make([]int)

royal nymph
#

oh

#

i mean I prefer that, it'd be weird if it were a generic

#

also I generally don't use make

winged mantle
#

why..

#

as a c++ developer using generics for stuff like this doesn't feel weird

#

ig we have std::make_unique<Type>

royal nymph
winged mantle
#

noo i mean why would it be weird as a generic

royal nymph
#

ohhhh

#

it's basically the same as new int[] in other languages

#

it's not really a normal function

winged mantle
#

i guess

#

when you jump to the declaration it does show as though it's a function blbctscrd

jade stone
#

i love cursed code

dawn ledge
jade stone
hoary sluice
#

and therefore make() is too

hoary sluice
#

@valid jetty does elle not have multiline comments???

valid jetty
#

no blobcatcozy

#

and i've found no problems with that

#

oh also, strings are multiline

hoary sluice
#

why not add them

#

not like theyll hurt

valid jetty
#

tbh i've always thought i should add them at some point but it's not really very high on the list of priorities

lucid trail
#

they’re pretty easy to parse

valid jetty
#

yeah i know

hoary sluice
#

rosie it will take you 30 seconds to add themm

lucid trail
winged mantle
#

i think i might actually hop on kysely it looks really good

#

but it's NOT an orm

valid jetty
# lucid trail they’re pretty easy to parse

basically this

fn Lexer::consume_string_literal(Lexer *self) {
    self.advance();
    res := []rune;
    nesting := 0;

    while !self.is_eof() {
        current_char := self.current_char();

        if current_char.encode() == "」" {
            if nesting > 0 {
                nesting -= 1;
                res.push(current_char);
                self.advance();
            } else {
                self.advance();
                break;
            }
        } else if current_char.encode() == "「" {
            nesting += 1;
            res.push(current_char);
            self.advance();
        } else {
            res.push(current_char);
            self.advance();
        }
    }

    return res.utf8_encode();
}
``` but for /* and \*/, not very hard
winged mantle
#

it looks like it would just solve all my problems

valid jetty
winged mantle
#

without making things insanely abstract

valid jetty
#

idk i'll do that after i make this other change i'm currently working on

lucid trail
winged mantle
#

also i think i finally have worked out a good way to avoid global variables

#

which is nice because it would make dependencies clearer

supple whale
winged mantle
#

though in practice there are many cases where you can't tell

#

well i mean in practice in languages with new there's many places where you don't use new

#

java's probably the most newy language I can think of?

jade stone
supple whale
#

yes

#

no

#

kinda

#

its very easy to missuse

#

i dont thing ur use case is 100% valid, but its not invalid either

#

its more expensive than a normal timeout by quite a bit

#

but it helps not lock up the thread with expensive tasks, while still executing asap

#

think of it this way, "the best use case for it is running GC"

#

thats at least how i think about it

#

GC is fucking mad expensive, shouldnt be done when other important stuff is happening, but it needs to be done too late before shit implodes

royal nymph
#

tbh multi line comments are meh

#

i always just use

// line1
// line2
// line3
supple whale
#

in my 6 years i think i only found one good use case for it, GC'ing or killing connections that arent used on a server

#

except.... nodejs doesnt have it, so ended up not using it

supple whale
jade stone
supple whale
#

yeah monaco and the likes arent great in that regard

jade stone
supple whale
#

there's probably some correct way of doing it

#

but good luck finding the one undocumented option in the source code to do it

jade stone
#

most descriptive error message

supple whale
#

mooooood

#

im using flow for graphs

#

and its node initialization just fucking calls... wheever

#

and there's not a proper way to read initilized state

#

and it pisses me the fuck off

jade stone
#

is someone joining an array with ,

supple whale
#

yeah i was about to say

#

that looks very much like uint8arr.toString()

jade stone
#

yeah

#

guhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

supple whale
#

Jan 27, 2023

#

cinema

#

i also reported my bug in xyflow like a year ago or so

jade stone
#

?remind 4hr re-port vscode-textmate to browser

delicate groveBOT
#

Alright @jade stone, in 4 hours: re-port vscode-textmate to browser

winged mantle
#

or lua or sql or assembly or css

#

checkmate

jade stone
winged mantle
#

nope

jade stone
jade stone
crude star
#

why are you writing code in a 36 year old standard

#

that's a problematic age gap

winged mantle
crude star
#

same thing

winged mantle
#

sooo bad

#

if I use lua i will fork to add //

crude star
#

change js to use --

#

so you can type an empty regex without having to write a non capture group

winged mantle
#

actually i would do a number of things

#

I should make sane-lua

royal nymph
winged mantle
#

0-indexing, c style comments, and braces

winged mantle
#

since when?

royal nymph
#

yes? blobcatcozy

jade stone
#

css doesnt have single line comments

#

when did they get added

winged mantle
jade stone
winged mantle
#

what if you made a language where all code had to be commented

royal nymph
#

works fine for me

crude star
#

yop rael syntax

royal nymph
#

just make sure to put {} at the end, this tells css the comment ends there <3

winged mantle
#

every line starts as a comment by default, you have to explicitly do // to write code

#

it would make you document so much more

royal nymph
#

css really is just so versatile

winged mantle
#

i see, it just recovers from errors

royal nymph
winged mantle
#

so dumb

shrewd canopy
#

I personally think all libraries must work even on 50 year old systems

winged mantle
#

ah yeah that 50 year old laptop you have that still works perfectly

#

(just stick linux mint on it)

shrewd canopy
winged mantle
#

linux mint makes hardware of any age work perfectly

shrewd canopy
#

No

#

x86 didnt even exist 50 years ago

winged mantle
#

eh, just cross-compile

shrewd canopy
#

Linux isnt ported to PDP-8

winged mantle
#

emulate x86 on pdp-8

#

upgrade ram a bit

#

simple

#

oh pdp has 6 kib of memory

#

no need for an upgrade

hoary sluice
#

@winged mantle how are you going to run linux on bombe

winged mantle
#

oracle virtualbox

hoary sluice
#

omw putting oracle virtualbox on this

#

@valid jetty i changed my mind

#

im gonna do aoc in a different language each day

#

but the languages ill use will be like untyped lambda calculus, a turing machine, etc

#

ill first do it in rust for lb and then try my best to do it in an esoteric language

#

icypeas will be one of them

#

but only the first 5 days

#

i dont have time the last 7 days

lucid trail
hoary sluice
hoary sluice
#

Thank God there is @valid jetty with existing binary expression tree sitter grammar under the mit license 😍 😍

#

@valid jetty what is <>

valid jetty
#

string concat

hoary sluice
#

why not +

valid jetty
#

strings are pointers

#

you use + for pointer arithmetic

#

<> for concat

hoary sluice
#

oH

#

oh

delicate groveBOT
#

@jade stone, <t:1763403227:R>: re-port vscode-textmate to browser

valid jetty
pseudo sierra
#

common zoot w

lucid trail
#

“this method no longer supported and will be fully removed in 2.0.0”, is my guess

#

i really need to brush up my chinese

jade stone
#

Something something Android hooking something something client mod my guess

solid gazelle
#

-# @lyric latch

#

MY HEAD HURTSSSSS

jade stone
#

I'll stop hitting it with a hammer

nimble bone
#

@jade stone i tried shuffling your playlist it looked mostly like my favorite songs shuffle

jade stone
#

very programming

nimble bone
#

wrong channel i thought this was regulars

#

sorry ladies

nimble bone
rose otter
#

clodflare

nimble bone
#

vset-name general-but-rosie-will-casually-write-a-language

clear thunder
#

Cell Broadband Engine

nimble bone
#

vset-topic formerly known as general-but-rosie-will-casually-write-a-language

hoary sluice
#

@valid jetty how are u not tired of elle

valid jetty
#

@lucid trail get on my level

valid jetty
#

new things to try

hoary sluice
#

@valid jetty how do you mirror to srcht

lucid trail
hoary sluice
#

Only 768 more to go

#

whats that mountain in june

#

@valid jetty codeberg auto refers renamed repos to the new name

#

github probably does it too

#

but its awesome

lucid trail
#

oh yeah it appears that the tool chain is causing issues in building the zed extension. so i’ll have to think about that

valid jetty
#

i have 2 remotes for the repo locally

hoary sluice
#

oh yea i have that same mountain

hoary sluice
valid jetty
lucid trail
#

i stopped working on mine over summer break and i don’t exactly remember why

hoary sluice
#

I stopped working on mine cause i got a job

lucid trail
#

oh yeah how hard could writing a backend for aarch64 be? i find it the most interesting part so it sucks a bit that i don’t get to interact with it much when im using cranelift

lucid trail
hoary sluice
#

@valid jetty i might abandon the pure functional thing for convenience

valid jetty
hoary sluice
#

but idk if i should fully allow io inside all functions or still keep some separation (similar to rust const fn)

valid jetty
#

instructions are all the same size, which means to load big constants you need multiple instructs for the lo and hi bits of it

#

but other than that it's pretty easy i guess?

#

also doesn't cranelift support aarch64?

lucid trail
hoary sluice
#

@valid jetty gimme ideas

#

on how to do io

#

idk if i like the procedure thing

lucid trail
#

i suppose i might have to implement an SSA form too, if i want to do any optimizations later

valid jetty
#

and you can sort of ignore the existence of side effects in icy and just treat it like a "functional-adjacent" language

hoary sluice
#

@valid jetty @valid jetty chatgpt is down because of dqe I cant vibecode at work

#

im useless rn

#

its vibecoded

#

looks awesome

#

love the styling of this

#

i used to selfhost mine

#

on a 30$ hp prodesk

#

from willhaben

#

then i realized thats stupid and vercel free tier has 100% uptime and i dont have to run a server at home

#

ill never pay for cloud hosting but if its free and works ill use it

#

im thinkIng abt rnuning jellyfin for mY family

#

so they dont have to watch stuff on google

#

we have both netflix and amazon video but most films are still unavailable

#

and that netflix is paid for by my aunt from kazakhstan so its like 4$ a month and shared across 5 ppl

#

no reason to sign up for another streaming service tho and ig if i set up jellyfin they can cancel netflix

#

why is discord not down

ionic lake
#

gcp

hoary sluice
#

that has nothing to do with gcp

#

wait nvm

#

idk

#

my website routes through cloudflare and the domain is registered with cloudflare and it doesnt work but it works if i access the vercel url directly

jade stone
#

I love my website
I hope cloudflare doesn't have an outage or anything

hoary sluice
#

the site for the central hospital of vienna is down and it doesnt even show cloudflare down thingy

#

it just doesnt load

#

i sure am not gonna rely exclusively on one provider if i run a hospital

#

surely its not 15% like the cloudflare blog said

#

at least half the internet is down for me

#

@valid jetty i hope steam is down so i can get work done

#

MY BANK IS DOWN 😭

hoary sluice
valid jetty
#

@hoary sluice if you can get icy to a stage where you can write most programs you want in it, youll probably also never be bored

#

its a self fulfilling cycle

  • i see a cool thing online
  • "hey i wanna do that in elle"/"can elle do that?"
  • add functionality required to do that thing
  • do cool thing
  • repeat
hoary sluice
#

be fun

#

@valid jetty are tree sitter conflicts just a trade off between speed and LR(1) ambiguous grammar

#

or is there another catch

dense sand
#

hello bun???

#

but why??

#

both of them are running locally

#

one in bun repl, one in firefox

#

smh

lucid trail
hoary sluice
supple whale
#

see this is why the fact that safari fails so many browser tests matters

shrewd canopy
#

Nothing is consistent

supple whale
#

there's a spec defined for dates and they dont follow it

hoary sluice
#

@valid jetty whats the difference between these two

      repeat1(
        $.primary
      ),
      seq(
        $.primary,
        repeat(
          $.primary,
        ),
      ),
#

the bottom one causes no error

#

the top one is conflict

valid jetty
#

theyre the same idk why theres any difference

hearty lintel
lucid trail
#

this is pretty neat

#

i quite like matches!

hoary sluice
hoary sluice
#

@valid jetty how to do nested multiline comments in tree sitter

#

yay my tree sitter passes all my tests besides comments

pearl stagBOT
# lucid trail looks like both rust and swift use an external scanner for this https://github.c...

grammar.js: Lines 184-188

// Comments and raw strings are parsed in a custom scanner because they require us to carry forward state to
// maintain symmetry. For instance, parsing a multiline comment requires us to increment a counter whenever we see
// `/*`, and decrement it whenever we see `*/`. A standard grammar would only be able to exit the comment at the
// first `*/` (like C does). Similarly, when you start a string with `##"`, you're required to include the same
// number of `#` symbols to end it.
hoary sluice
lucid trail
hoary sluice
#

@valid jetty is this real

    // seq("/*", /[^*]*\*+([^/*][^*]*\*+)*/, "/")), // TODO: uncomment when multiline comments are added
valid jetty
#

tnixc added that

lucid trail
#

yeah

#

i did not consider nested multiline comments

#

this is not possible with regex

#

also that regex is wrong, i think?

#

adding an external scanner cannot be that bad

winged mantle
#

i wanna set this to be my banner

royal nymph
#

omg eslint finally added this natively so we don't have to patch it anymore

jade stone
#

guhhhhhhhhhhhhhhhh

#

i hate when people publish minified libraries on npm so i cant patch them and am forced to vendor them

#

its just one line of minified code

#

and i needed to make like one minor change

royal nymph
#

yes

#

vencord actually patches a minified library

#

the patch contains the entire code because it's one line

#

I opened an issue on that repo ages ago telling him to disable minification which he did but he hasn't made a new release

jade stone
jade stone
#

Insane

jade stone
hoary sluice
#

at least the /*

#

ik python uses """ which cant nest

jade stone
hoary sluice
#

in what languages

jade stone
#

You can't nest block comments. This often happens when you accidentally include a */ sequence in your comment, which will terminate the comment.

#

Can't check c/c++ because Monaco doesn't like supporting mobile

#

Oh wait

#

We have the bot

hoary sluice
#

ik rust and swift support it because their tree sitter has it

jade stone
#

./run

int main() /* h /* h */ g */ {}
rugged berryBOT
#

@jade stone I received cpp(10.2.0) compile errors

file0.code.cpp:1:25: error: expected initializer before 'g'
    1 | int main() /* h /* h */ g */ {}
      |                         ^
chmod: cannot access 'a.out': No such file or directory
file0.code.cpp:1:25: error: expected initializer before 'g'
    1 | int main() /* h /* h */ g */ {}
      |                         ^
chmod: cannot access 'a.out': No such file or directory
hoary sluice
#

wtf

#

why

jade stone
#

C/c++ don't either

jade stone
#

Pretty sure that Java and kotlin don't either too

hoary sluice
#

this is like my teacher explaining the difference between errors and warnings then telling us to run the example ourselves but for us his warnings were errors (or other way around) because his gcc was from 100 years ago

jade stone
#

Idk. Whenever I write c/c++ I compile with -Wall -Werror -Wextra -Wpedantic blobcatcozy

#

gcc my beloved

hoary sluice
#

@valid jetty i just realized minecraft snapshots like 25w46a mean year 2025 week 46 a

#

i thought the 46 was just an incremental number