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
#🪅-progaming
1 messages · Page 125 of 1
are you applying through UCAS as well?
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
i fixed
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
hes from the school i went to
i saw them last year
i was #1 they were #2
ai can also spit out decent front end code
in st pölten
but it cannot for lower level code, at least not well
oh man, thats crazy, ur school is cracked
it can spit out good looking frontend code but not decent code
(really good)
its not 😭
theyre all retards
idk im going entirely blind
informatics department has a few good programmers
i dont use ai i have no idea how good it actually is
like the guy who posted this
im just going based on what people have been telling me
if there are tools like uhhh idk whatever that tool was
the rankings of the coding contest tells a different story 😆
the tool that can generate a website
roiee how do i run inko on wasm
what does inko compile to
What
girl inko compiles to llvm ir
llvm has a wasm target
just use that
yea hes the winner, good person tbh for leaving and not even taking the prize money
i always get them confused
DUDE IM LITERALLY SLOW
@hearty lintel they deleted the messages lmaooo

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
nah idc

why were you considering vibe coding @valid jetty
which messages did they delete? i still see their first and second messages about how they used AI
😭
to see what eagely said
im doing just fine not vibe coding
cc: @lucid trail
nice
is it active?
oof looks like there’s a few per month
not very but i should get a reply within a week maybe?
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
yeah same. but also exams are usually easier than assignments
it is the exact opposite for us here
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
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!
@lucid trail @lyric latch look at this shit
peak
these are questions from my last test
😋 so glad i’m done with physics
it's uhhhhhhhhhhhhh
much harder than the homeworks we were given as preparation that's for sure
i think i could do the first one, idk about the second one
ro ie 💖 🎀
@hoary sluice you try
how about this question
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
never learned this lol
digital quizzes?
i always wonder why the stuff i'm taught here is so much more difficult than what people online are tought in other countries
no these are just the answers
written by my teacher digitally
because good-ish education system
no!!! not a jumpstart i hate this
i wanna program all day i don't wanna learn about dhcp and subnet masking
at least you didnt learn swing gui
ontarios hs education system is pretty shit, but i got a lot of time to do extracurriculars
@valid jetty make cargo for elle
maybe at one point i will
should i use https://github.com/amacneil/dbmate
carstop
@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
i should totally know how to solve all of them
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
there was a point in my life where i could solve them easily, i’ll try them i suppose
later today
@valid jetty im not a vibecoder
im a vibe engineer
dont give linkedin any new ideas
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
gitlab
never mind ts is so hard
it’s so over for me
why do ppl use sourcehut and codeberg
i use sourcehut too
i use it because its very minimal and fast
it doesnt take 5 years to load on slow internet
unlike github
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
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.
codeberg when it isn't down 50% of the time
and also before they forced Anubis
https://tangled.org/ I actually like this but it's way too new
tightly-knit social coding
they work faster than forgejo though
why is that bad
annoying
ngl I got rid of anubis on my shit cuz it didn't really do anything and only made accessing annoying especially on phone
for some reason i have some code where i wish i could write &mut in typescript
@hearty lintel
tbfr the orga team did nothing they only ate pizza and announced that catcoder was down
but i wanted to stay respectful
yeah it fell off hard
I just moved back to github
are there any people who say dx is good on windows not using wsl
dx as in developer experience?
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
wth are knots and spindles
@nimble bone i love having five typescript compilers/bundlers in one package
@jade stone satan
true
esbuild for fast typescript transpilation
rollup for bundling dts files
typescript for generating dts files
rest are just in dev
dx of what specifically
because it varies wildly between languages and toolchains
from my own experience web dev, android and dotnet is perfectly fine on windows
no wsl
good 
developering
i have had too many issues with file paths on windows to ever be able to say it has good dx

replace dx in what i said with developer morale
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
I install all the core utils to my path on every windows install
Ideal for me
Not actually Windows' fault
Complain to URI spec
windows bad because it's not what i'm familiar with 
???
Uris use forward slashes
do you have to put %20 in windows filenames for them to work
Windows has has support for both for a while in some things, but it's mixed on what actually works with it
Just looked at uri spec, and I don't see backslashes anywhere under reserved characters
THese are the 3 specific things ive done so far and ive never used linux in a a personal computer yet
well ive also tried out rust
oh rust is perfectly fine too
as long as you're not dealing with crates that bind to c libraries
i remember me accidentally purging most of my PATH 2 years ago because the windows set path command force trimmed to 256 char without warning or something
also 95% of the issues about cli and paths is easily resolved by using git bash or cygwin
God I love rust for that
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
CMake:
windows sucks
CPP sucks
no?
both
It works fine for me
Only sucks for servers
windows sucks for everything but spyware anticheat
kernel acs aren't spyware either
and not all hardware works with non-windows (ASUS motherboards for example largely support only Windows, NVIDIA dropped linux support entirely for my GPU)
youll never know lol
it's always a cat and mouse game
next level is probably going to be hypervisor-level
gm
you can use >10 year old nvidia drivers just fine on linux
its not like nvidia updates them on windows either
sage advice, and also very true
the line between kernel ac and malware is very blurry
the line between rushii and malware is very blurry
@lucid trail
i can see what this is doing but what are you trying to say
you're adding the values on the registers and returning them, yeah?
i added inline assembly to qbe
asm and naked are not existing keywords
that's really cool, i don't know anything about QBE lol
does cranelift have inline asm:question:
nope, its a very old issue
looks like theres some limited support
that's a smaller diff comparatively, the issue said it'd take like 3-6 months of fulltime work to implement it in cranelift
idk i just went and added it to qbe since i need it for so many things
interesting
its not particularly difficult to add it to qbe, since the code is quite small
the only problem was the lack of readability
yeah I've seen this about qbe
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
the hell
pinned instructions dont have GCM applied
i wouldve struggled for a while to figure out how to get around that if they werent documented
what are those, and what is gcm
global code motion
makes sense
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
yeah basically that
this is a pretty interesting post https://www.ralfj.de/blog/2020/12/14/provenance.html
Some time ago, I wrote a blog post about how there’s more to a pointer than meets the eye. One key point I was trying to make is that just because two pointers point to the same address...
oh these are all rules for what could be moved around, right
no just general instr flags
@nimble bone would be more than happy to help
dm @nimble bone
886685857560539176
satan @jade stone if you give him money
Me as long as you actually know how to code
I might deny if the questions become too ridiculous though
yea i agree that trying to confuse LLMs is only gonna confuse humans more and make the puzzle worse
i like these suggestions
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
is there a way to do this by using foldr instead of (reverse (foldl ..))
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
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
it took hours for the LLMs to solve it but one of those hours was the team just going home (kek) and then they finished the challenge by upgrading to a better machine (their gaming rig kek) to crunch the problem, so total was 2.5 hours, which is still pretty insane
i don't understand using llms for this anyways
isn't the point figuring out the solution on your own
💯
kinda takes the fun out of puzzles
yea absolutely
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
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
yea i like the new way AoC is doing it, making private leaderboards for ur own group
and u can decide the rules for urself
They solved level 7, didn't solve level 8, and it took them 3 hours and at least a dozen wrong attempts
This is a dozen wrong solutions you'd put in your enterprise code
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
in aoc case its an awesome decision
true, but there are a lot less farmers now
yes, i read that, just under 3 hours effectively
"the agent produced a terrible solution" this is why llms are too widespread
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
have you ever tried using an llm in a big enterprise project
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
jobs should die and then we get ubi i think
yes thats what im saying, ur making the same point im making btw
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
is this really true
copilot (not copilot chat) is useful when eg. adding a new attribute to a class and having to fix the constructor
in my personal experience yes, and i have A LOT of experience with llms
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)
alright i trust u then, but i dont know how u can use the results of a coding competition to say its not good for enterprise either when it performed the best
im using my experience with llms in enterprise to say that, but using the ccc as an example because they claim to make the puzzles mimic real problems
all but aoc
aoc is actually quite a good measure of your skill
imo
alr i see 
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
@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
eageler is vibe coded
nina is the vibe being coded
this is a vc funded ai startup that will collapse in the next 2 years
all their marketing is lies
its all bullshit

maybe
me when the ai slop has ai slop marketing

@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'

@valid jetty https://codeberg.org/eagely
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)
@lucid trail https://lists.sr.ht/~mpu/qbe/patches/63523
this is sort of hacking the compiler
so i want to see what they think about this
sourcehut anoobis
why
lc.pfp @lyric latch @lyric latch
-# <:i:1263593669215256597> labsCore will be shutting down <t:1767265200:R> • Learn more
using nanobanana*
click on this
LOL
yea i took it
i'll turn you into a nanobanana @royal nymph
@royal nymph make nin0.vendicated.dev
POP MART is a market leading player in character-based entertainment, renowned for pioneering the designer toy culture worldwide.
@nimble bone

this isnt git
that’s cool, looks like there’s other patches for asm lol
apparently that patch is for global asm
like at the top level
i specifically wanted asm as an instruction
@valid jetty my small village in kazakhstan just got 800mbit 5g
i have 280 in vienna...
cause fuck github
whats wrong with github
rosie im doing aoc in icypeas
oh also i hit 200 followers recently
is it.. powerful enough for that?
Microsoft and copilot
ill be honest i dont even think elle is powerful enough for aoc
ill still use github just not for my personal repos
ofc it is
or maybe set up mirrors
lol ofc it is
not really but ill work on it a bit more
at the very least this is doing a lot of heavy lifting
if theres a network problem in the next aoc i would kinda fail to do it in elle
Who cares
its fine the ai bubble will burst soon
You aren't forced to use AI
surely you can implement networks in elle yourself..
its just a minor inconvenience rn but i want my version control to be open source
i can
Github is just another git instance
You won't need to look at Git's code or even kernels code ever either
yes but they train copilot on my code and therefore it benefits them and therefore i dont want to use their service
good luck not getting ur code scraped

so does using literally any service
you use discord, and it scans your images already, you are potentially helping them to train AI
i dont get this argument, u can still use services u find essential and change services if it is not
I am unable to directly access and review the code at the provided Codeberg URL. My current tools do not allow me to fetch the raw content of the file from that specific link. Therefore, I cannot provide a code review at this time.
-# Response generated by gemini-2.5-flash. AI may be incorrect or misleading.
codeberg W
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
okhttpfor HTTP requests,kotlinx.serializationfor JSON processing, andkotlinx.clifor 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
PuzzleResultandSubmitResultare effectively used.
Minor Points
- Error handling for network requests could be more granular, though the current approach with
Resulttypes 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.
bro is yapping
its vibe coded
i just needed an auto input puller
what is it talking about there are no result types
this is all hallucinated
textCommands.ts: Lines 15-23
if (msg.inDirectMessageChannel()) {
const user = await client.rest.users.get(msg.author.id);
const dmChannel = await user.createDM();
Object.defineProperty(msg, "channel", {
value: dmChannel,
writable: false
});
}
@royal nymph love?
it probably couldnt access it so it just hallucinated
at this point im contemplating whether you vibe coded your aoc 2024 solutions
i vibe coded everything
i never knew how to code
oh ok
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
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
@solid gazelle listen!!!!!!!!!!!!!!!!!!!! https://open.spotify.com/track/5A7EuahWxrJf7AafJ503dV trust me you wont be dissapointed
sorry im watching house md it's the house and wilson gay episode
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)
woah ur so awesome
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?
what you mean
surely it doesn't need to happen every time you read the variable?
oh that idk
javascript requires explicit this sooo
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
so how every interpreter ever does it lol
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
woah this looks awesome
i just tested multi window support on ipad
that's so cool! is it open to try rn?
semi-kinda private testing rn
u can join tho

this song is so fire!! i'm sure youve heard sakuzayo as well?
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

Tbh that’s just really shitty error handling
Invalid node type missing_node
@valid jetty add the option to write functions with {} so its easier during aoc?
still no side effects tho
wdym?
eageler
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 
oh yeah it's hell
I hate it
it's been a thing for like almost a year now
yeah
this is very stupid
you'd figure if they're making such a change like that, they'd add a diagnostic for it
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
idk if v8 does this for scopes, but for objects v8 internally maintains something like a class with property offsets so it doesnt have to do a search every time a property is accessed
many ways in js to modify the scope that fly under static analysis
one of the problems of dynamic languages, especially ones with eval
there's a blog post on this
This technical deep-dive explains how V8 handles JavaScript properties behind the scenes.
v8 optimizations are quite clever
there's a lot to learn from them
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
not sure what your needs are but you might want to check out java treesitter
i need to parse out javadocs
arent there tools for that already
even if you need to do something custom with the javadocs, you could probabyl see what they use for parsing
arent there tools for that already
if you know any ill be glad for that
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
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
}
i mean just steal the parser it uses
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
are you really parsing that much code
i dunno if its good time tho, ideally would like better
i think you could probably write some generic parser that just looks for comments
you could ignore thigns that dont look javadoc-like
i want the context too tho
i think treesitter might work for you, but its build for syntax highlighting so im not sure how good it will be 
okay
its written in c, so it should be fast enough
i lied, its written in js it looks like
@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
well obviously you should do that but then it turns it into a procedural language which kinda defeats the point
does it tho
well if you wrote icypeas to be a functional language it does
all functions are still pure tho
the block notation is only for ergonomics
so you can declare temporary variables
and this would transition nicely into io
yeah
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
a monad which defines the state of the world before and after io
you can only pass io as its argumnets
this sounds like red and blue functions again
this is just for them to mathematically argue that its pure
what is that
or i call io functions procedures 
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
}
true
yess!! that new song in the pjsk championships was so peak
meh i dont think any functional language allows calling io inside a pure functiondo they
That let input looks like an alias, not performing io
it is
its pseudocode
its an alias if written like this, ye
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
that's more of a nitpick
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?
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
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
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
the days of i see piss are over </3333
🥀 💔
wtf i havent worked on icy in 5 months
anyways theres this nowhttps://codeberg.org/eagely/icy/src/branch/main/DOCS.md
the disclaimer is only because i havent implemented type inference yet
@valid jetty https://www.youtube.com/watch?v=8-B6ryuBkCM
Learning Coding here: https://app.codecrafters.io/join?via=kavan010
Github repo: https://github.com/kavan010/black_hole
X/Twitter: x.com/KavanSG
discord: https://discord.gg/VNRMUg64WC
Instagram (personal account): instagram.com/kavaan010
Simulated a black hole in C++! Sort of sequel to my gravity video!
Thank you everyone for the support !!
Up...
the math was simpler than i expected
figuring out issues with tsx (typescript execute) is annoying because it's also used to refer to the other tsx :D
Hop of tsx
Just pipe through esbuild
wdym
i just wanted a simple solution :(
nothing is simple in js ecosystem
you should see other ecosystems
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
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....
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
i legitimately considered using vite for nodejs so typescript works well
because rollup and webpack are still the only things that handle ts correctly
what do u mean
what it says
read the sentence above
node and deno dont handle ts correctly
and neither do tools like tsx
oh
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
Can't you just use import.meta.glob here
i think youre missing the point
@valid jetty i just realized ive never written a fully production ready project
Good
Illegal and based
wdym?
can you show an example
make([]int)
oh
i mean I prefer that, it'd be weird if it were a generic
also I generally don't use make
why..
as a c++ developer using generics for stuff like this doesn't feel weird
ig we have std::make_unique<Type>

noo i mean why would it be weird as a generic
ohhhh
it's basically the same as new int[] in other languages
it's not really a normal function
i love cursed code
youre gonna consider the entirety of zig cursed
updateLanguages should probably be renamed to setupThemes
the new keyword is useless kotlin proved it
and therefore make() is too
@valid jetty does elle not have multiline comments???
tbh i've always thought i should add them at some point but it's not really very high on the list of priorities
they’re pretty easy to parse
yeah i know
rosie it will take you 30 seconds to add themm
i think it’s in the lexer for me actually
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
it looks like it would just solve all my problems
i have to also add syntax highlighting
without making things insanely abstract
idk i'll do that after i make this other change i'm currently working on
yeah i dont even worry about nesting it
also i think i finally have worked out a good way to avoid global variables
which is nice because it would make dependencies clearer
holy the rare idle callback usage
it's nice to see where memory is allocated
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?
monaco wouldnt update if i called it after it was initialized
this is better than setTimeout i think
no
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
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
MOOD
the thing is i'm not sure when the right time to run setupThemes is
i dont want to use setTimeout and have a visible peroid of unthemed code, this works well enough for me and is only called once when the component is mounted
yeah monaco and the likes arent great in that regard
dedent my beloved
there's probably some correct way of doing it
but good luck finding the one undocumented option in the source code to do it
the implementation im referencing just calls it with await, but i tried that and no dice
most descriptive error message
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
yeah
guhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
?remind 4hr re-port vscode-textmate to browser
Alright @jade stone, in 4 hours: re-port vscode-textmate to browser
what if you're writing C89
or lua or sql or assembly or css
checkmate
does c89 not have single line comments
nope
one of the main reasons i use scss is for single-line comments

lua has single line comments?
not with slashes
same thing
change js to use --
so you can type an empty regex without having to write a non capture group
you know you can just use single line comments in css too
0-indexing, c style comments, and braces
since when?
yes? 
not on mdn
what if you made a language where all code had to be commented
works fine for me
yop rael syntax
just make sure to put {} at the end, this tells css the comment ends there <3
if you think about it this makes sense
every line starts as a comment by default, you have to explicitly do // to write code
it would make you document so much more
css really is just so versatile
i see, it just recovers from errors
so dumb
brainfuck or smth
Compatibility
I personally think all libraries must work even on 50 year old systems
ah yeah that 50 year old laptop you have that still works perfectly
(just stick linux mint on it)
UNIX*
linux mint makes hardware of any age work perfectly
eh, just cross-compile
Also isnt going to work
Linux isnt ported to PDP-8
emulate x86 on pdp-8
upgrade ram a bit
simple
oh pdp has 6 kib of memory
no need for an upgrade
@winged mantle how are you going to run linux on bombe
oracle virtualbox
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
thats cool
is it super easy to find the other files hosted from this url? https://ihaveaquiztoday.vercel.app/f/aGFya_J-xH8tdgqO3qhYIzIdMd9rQXpcuYH8_ioCUgHty2pexVWHMvSd_hYI5vuIy6yADgDaKuAWlYb_Q3jy4pgc9rkYI_r2v8_3NppUSdY2i7PrwBD8Vix-Kw
or try to find where it’s hosted as well
i mean icy*
Thank God there is @valid jetty with existing binary expression tree sitter grammar under the mit license 😍 😍
@valid jetty what is <>
string concat
why not +
writing a grammar is fun!!
@jade stone, <t:1763403227:R>: re-port vscode-textmate to browser
common zoot w
“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
Something something Android hooking something something client mod my guess
virus
@jade stone i tried shuffling your playlist it looked mostly like my favorite songs shuffle

very programming
this is general-but-rosie-will-casually-write-a-language
clodflare
vset-name general-but-rosie-will-casually-write-a-language
Cell Broadband Engine
vset-topic formerly known as general-but-rosie-will-casually-write-a-language
@lucid trail get on my level
theres always more to do !!
new things to try
@valid jetty how do you mirror to srcht
what do you expect me to do??
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
oh yeah it appears that the tool chain is causing issues in building the zed extension. so i’ll have to think about that
git push --mirror srht
i have 2 remotes for the repo locally
oh yea i have that same mountain
is elle the only mirrored repo
summer holiday and many big changes made
i stopped working on mine over summer break and i don’t exactly remember why
I stopped working on mine cause i got a job
i should also get one of those
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
why cranelift
just found it the most convenient
@valid jetty i might abandon the pure functional thing for convenience
pretty annoying but definitely doable
but idk if i should fully allow io inside all functions or still keep some separation (similar to rust const fn)
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?
it does
i suppose i might have to implement an SSA form too, if i want to do any optimizations later
well surely you can just think of it like a function that returns void
and you can sort of ignore the existence of side effects in icy and just treat it like a "functional-adjacent" language
@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
its just dns thats down so you can still access mine via https://portfolio-git-main-eagelys-projects.vercel.app/
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
gcp
but i thought cloudflare dns is down
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
I love my website
I hope cloudflare doesn't have an outage or anything
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 😭
this is awesome
@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
if i add file ops i will be able to write all things in icy but tha tdoesnt mean itll bu fen
be fun
@valid jetty are tree sitter conflicts just a trade off between speed and LR(1) ambiguous grammar
or is there another catch
hello bun???
but why??
both of them are running locally
one in bun repl, one in firefox
smh
isn't LR(1) by definition unambiguous
i meant grammar that is unambiguous in an LR(n) parser but unparsable because of ambiguity in LR(1)
WOOO JAVASCRIPTCOREEEE
see this is why the fact that safari fails so many browser tests matters
This is why javascript should die already
Nothing is consistent
this is jsc's fault specifically
there's a spec defined for dates and they dont follow it
okay yeah i understand
@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
theyre the same idk why theres any difference
i thought netflix cracked down on sharing accounts
from my experience if you use matches theres usually a better way to write it
what do you suggest
im too brain afk to look at ur code rn
@valid jetty how to do nested multiline comments in tree sitter
yay my tree sitter passes all my tests besides comments
looks like both rust and swift use an external scanner for this https://github.com/alex-pinkus/tree-sitter-swift/blob/78d84ef82c387fceeb6094038da28717ea052e39/grammar.js#L184-L188
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.
this is what claude told me to use i was genuinely hoping it was just lying 😭

@valid jetty is this real
// seq("/*", /[^*]*\*+([^/*][^*]*\*+)*/, "/")), // TODO: uncomment when multiline comments are added
tnixc added that
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
i wanna set this to be my banner
omg eslint finally added this natively so we don't have to patch it anymore
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
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
It gets worse when you need to expose internals and it's pre bundled 
@royal nymph VENDOR
Insane
Don't most languages not support that
most languages do support that
at least the /*
ik python uses """ which cant nest
I've always gotten errors when I've tried
in what languages
Js most recently
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
ok but thats js
ik rust and swift support it because their tree sitter has it
./run
int main() /* h /* h */ g */ {}
@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
C/c++ don't either
gcc10 😭
Pretty sure that Java and kotlin don't either too
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



