#🪅-progaming
1 messages · Page 126 of 1
Satan.
/run
/* 1 /* 2 /* 3 */ 2 */ 1 */
fn main() {
println!("Hello world");
}
Here is your rs(1.68.2) output @winged mantle
Hello world
horror
Being able to comment out a large block of code without existing comments causing issues
just add // to every line
What if you're editing your code on a phone in apple notes and you don't have access to multiline editing or ctrl-/
err then don't do it
/run
/* suck /* my */ balls */
fun main() = println("hello world")
Here is your kt(1.8.20) output @hoary sluice
hello world
never rly had an issue with js multiline comments
kt for kitty
you delete the code instead of commenting it out
yes
yay
WHO MADE THIS

@valid jetty
@valid jetty
proc main { println "Hello world"; }
``` returns this
but if you do
proc main {
println "Hello world";
}
``` itll fail at the newline cause its a significant token 
what why 😭
newline shouldnt be part of your lexer
or well it should be but it should be skipped
yes i did this now
now i can do readln
well
get to implementing readln
?? why are newlines tokens
cause i dont want to force semicolons
rn newline == semicolon, i will improve it later
you dont need newlines to be tokens to have optional semicolons
i think lua handles it well
oh horror
how do u do it then
parse_expr will consume exactly the tokens for an expr and stop
guh
(you cant)
makes sense but why doens't it handle extra semicolons well
you could make the parser aware of the amount of args a function has but this is still a problem
foo int int int int int
foo 1
bar 1 2
``` is foo partially applied with `1` or is it fully applied with `1 bar 1 2`
@valid jetty
it does
nvm it doesnt
are you sure
/run ```lua
print("hi") print("this is valid code") newlines = "arent real"
Here is your lua(5.4.4) output @crude star
hi
this is valid code
its really dumb
what are you trying to show here
the parser can clearly tell where statements start and end here
because of )
and thats why a bunch of expresions cant be statements
/run ```lua
this_is_an_error
print()
@crude star I only received lua(5.4.4) error output
lua: file0.code:2: syntax error near 'print'
its really unintuitive
@valid jetty newline handling is horror
whatever youre trying to say with this is cool but i cant require semicolons in a functional language where my main goal is minimal syntax
i understand that requiring semicolons is the better approach usually
but it isnt for me
no im just saying lua isnt a good example at all
i mentioned lua because i know it has newlines as separators that isnt just s/\n/;
i dont use lua outside of nvim config
so maybe it is bad
but i havent noticed any issues
nah it just treats newlines as spaces
oh what
alr
basically i cant allow multiple newlines or multiple semicolons rn
or i would have to add skip newlines into every step in every statement parser
in ML languages this is
foo 1 bar 1 2 == ((((foo 1) bar) 1) 2)
it doesnt matter that something is a function
yes ik
i see
this was in context of not lexing newlines but still not forcing semicolons
have you considered using indentation level
🤮
maybe ill force semicolons
i have to allow some way of making multiline function chains anyways
ill think abt it
/run ```haskell
main :: IO ()
main = do
foo
bar
baz
foo = print
bar = "hi"
baz = print "hello"
Here is your haskell(9.0.1) output @crude star
"hi"
"hello"

/run ```haskell
main :: IO ()
main = do
foo
bar
baz
foo = print
bar = "hi"
baz = print "hello"
@hoary sluice I received haskell(9.0.1) compile errors
file0.code.hs:3:3: error:
* Couldn't match expected type: IO a0
with actual type: a1 -> IO ()
* Probable cause: `foo' is applied to too few arguments
In a stmt of a 'do' block: foo
In the expression:
do foo
bar
baz
In an equation for `main':
main
= do foo
bar
baz
|
3 | foo
| ^^^
file0.code.hs:4:3: error:
* Couldn't match type `[]' with `IO'
Expected: IO Char
Actual: String
* In a stmt of a 'do' block: bar
In the expression:
do foo
bar
baz
In an equation for `main':
main```
wtf thats disgusting
it makes sense
it does but i dont wann do that
/run ```haskell
main :: IO ()
main = do
foo bar
baz
foo = print
bar = "hi"
baz = print "hello"
Here is your haskell(9.0.1) output @hoary sluice
"hi"
"hello"
wait how does it do this
/run ```haskell
main :: IO ()
main = do
{ foo
bar
; baz
}
foo = print
bar = "hi"
baz = print "hello"
Here is your haskell(9.0.1) output @crude star
"hi"
"hello"
is this with type checking
/run ```haskell
foo :: Int -> Int -> Int
foo a b = a + b
main :: IO ()
main = do
foo 1 2
@hoary sluice I received haskell(9.0.1) compile errors
file0.code.hs:5:3: error:
* Couldn't match expected type `IO ()' with actual type `Int'
* In a stmt of a 'do' block: foo 1 2
In the expression: do foo 1 2
In an equation for `main': main = do foo 1 2
|
5 | foo 1 2
| ^^^^^^^
chmod: cannot access 'out': No such file or directory
file0.code.hs:5:3: error:
* Couldn't match expected type `IO ()' with actual type `Int'
* In a stmt of a 'do' block: foo 1 2
In the expression: do foo 1 2
In an equation for `main': main = do foo 1 2
|
5 | foo 1 2
| ^^^^^^^
chmod: cannot access 'out': No such file or directory
/run ```hs
foo a b = print (a + b)
main :: IO ()
main = do
foo 1 2
Here is your hs(9.0.1) output @hoary sluice
3
/run ```hs
foo a b = print (a + b)
main :: IO ()
main = do
foo 1
2
@hoary sluice I received hs(9.0.1) compile errors
file0.code.hs:5:1: error:
Parse error: module header, import declaration
or top-level declaration expected.
|
5 | 2
| ^
chmod: cannot access 'out': No such file or directory
file0.code.hs:5:1: error:
Parse error: module header, import declaration
or top-level declaration expected.
|
5 | 2
| ^
chmod: cannot access 'out': No such file or directory
/run ```hs
foo a b = print (a + b)
main :: IO ()
main = do
foo 1
2
@hoary sluice I received hs(9.0.1) compile errors
file0.code.hs:4:3: error:
* Couldn't match expected type: IO a0
with actual type: a1 -> IO ()
* Probable cause: `foo' is applied to too few arguments
In a stmt of a 'do' block: foo 1
In the expression:
do foo 1
2
In an equation for `main':
main
= do foo 1
2
|
4 | foo 1
| ^^^^^
chmod: cannot access 'out': No such file or directory
file0.code.hs:4:3: error:
* Couldn't match expected type: IO a0
with actual type: a1 -> IO ()
* Probable cause: `foo' is applied to too few arguments
In a stmt of a 'do' block: foo 1
In the expression:
do foo 1
2
In an equation for `main':
main
= do foo 1
2```
/run ```hs
foo a b = print (a + b)
main :: IO ()
main = do
foo 1
2
Here is your hs(9.0.1) output @hoary sluice
3
oh this is evil
Eagle discovering significant whitespace for the first time?
@royal nymph how should one go about making prs with tweaks to different parts of vencord? eg; themes menu, plugin settings (and others that come to mind)
i was thinking of having just one big pr, but thought it wouldn't be nice if some changes are good to add while others aren't, so will a bunch of small prs be good?
and separate question, i recall seeing a gh comment by you/another maintainer (which i just can't find
) that submitting requests into branches that aren't main would be easier for everyone, can you explain that/link the comment if you remember where it was?
-# i hope this is coherent 
one pr per feature, don't make one massive pr
unless your changes belong together
and branch doesnt matter
thank you
ive had significant whitespace all this time this is just the first time my approach caused problems
well i didnt have significant indentation, only newlines, but that still counts, right?
Significant whitespace is so stupid
I hate ASI in JavaScript
return
sadan;
a = 1
[1, 2, 3].map(console.log)
Nah, significant space is cool
It's just that js's sucks
Why do you like it
Less visual noise, mainly
I wouldn't call it visual noise myself
I really like being able to easily select the test within a block and jump to the matching brace. I also just like semicolons, idk.
Yeah, jumping to end of block is often missing in whitespace languages, that's true
-# user error
vai tldr
Bro didn't say anything
there's a new one
cant you just substitute braces with indentation level
Does your editor support that?
@valid jetty imma remove newlines as tokens and force semicolons
and remove multiline comments
the outage was because of a verizon client in pennsylvania redirecting traffic to their servers
@valid jetty now you have to put ; at the end of a procedure because I cba to keep improving semicolon stuff
proc main {
println "Hello World";
};
I tried to make my code Good
motivation killer
just write bad code
it's much more fun
I've tried and tried and tried but fixing my global variable mess is lobotomy
tbf making the discord client and database object non global was fine (I just pass it down through a context)
but trying to make plugin state non global complicates the plugin architecture
I'm memoising the instance function but it feels dumb when there'll only ever be one context 😭
this is beautiful
@valid jetty object Object icy edition
please BuiltinEffect("readln") instead
oh shit it works
ok
@valid jetty @valid jetty @valid jetty CALCULOTR
multiplication works too
proc main {
println "lhs:";
lhs = readln;
println "rhs:";
rhs = readln;
println "operator:";
operator = readln;
if operator == "+" then
println (lhs + rhs)
elif operator == "*" then
println (lhs * rhs)
else
println "ohter";
};
readln is now like a global variable whose value is the user input
oh also theres nothing forcing you to use procedures so you can just remove the procedure and write everything at the top level
and procedures dont have their own environments so a procedure is literally just cosmetic rn
genuinely laughed at this
why not just make a procedural lang lol
its literally just this ```rs
format!("{:?} and {:?} have invalid types for {:?}", left, right, op),
cause i wanna make a functional lang
and op is a token
well it looks like a procedural lang without parens
well yea youre looking at a procedure block
ok true good point
it has all the functional stuff
lazy eval, partial application all work
next time im making procedures do something and writing tree sitter colors
im calling it this
quotes in filenames!?
why not
its not an actual calculator its a string concatenator
implement strtoint (strtoi)
soon hopefully
makes sense
this is nice
what app is that
a pdf organization app i’m writing
Make it compiler 😎
orm hater to kysely user pipeline
@valid jetty ```rs
pub fn get(&self, key: &str) -> Option<Value> {
let value = if let Some(v) = self.identifiers.get(key).cloned() {
v
} else {
self.parent.as_ref().and_then(|p| p.borrow().get(key))?
};
match self.environment_type {
EnvironmentType::Impure => Some(value),
EnvironmentType::Pure => {
match value {
Value::BuiltinEffect { .. } => None,
_ => Some(value),
}
}
}
}
println is a pure function
right?
its just the identity function that also prints to io
.. no
surely output isnt something i should be worried about
because it cant be reordered
^
what does that mean
a lot of optimizations done to pure code change the order of operations
which cant happen here
you dont want print "a"; print "b" to go b then a or run a twice
yes
is being able to reorder necessary outside of multithreading
pub fn get(&self, key: &str) -> Option<Value> {
let value = if let Some(v) = self.identifiers.get(key).cloned() {
v
} else {
self.parent.as_ref().and_then(|p| p.borrow().get(key))?
};
match self.environment_type {
EnvironmentType::Impure => Some(value),
EnvironmentType::Pure => match value {
Value::BuiltinEffect { .. } | Value::BuiltinFunction { .. } => None,
_ => Some(value),
},
}
}
I suppose mainly common subexpression elimination
ghc probably has a lot of other insane things
like in compiled code, if you have x = f(); { ... }; g(x) and the code between them doesn't use x, you could optimise it to only call f at that point if it is pure (and save up a register)
roie
ro ie
what's happening
I think I'm turning into theo
using vertical tabs and eating granola bars
woo @valid jetty
wait its failing even inside proc
shit
whatever thats a problem for tomorrows me
/run ```rb
a = 1
b = 2
puts a + b += 1
Here is your rb(3.0.1) output @crude star
4
love?
TIL this typescript code breaks in environment where Object.prototype is frozen
such as tauri or the typescript playground
namespace foo {
type Person = { name: string, age: number };
export const toString = (person: Person) => person.name + ", aged " + person.age;
}

outside of strict mode it will silently cause the toString declaration to just have no effect
the thing is, if Object.prototype is not frozen, this code works how you'd expect. it doesn't affect toString for all objects
anyway, import zod v3 after freezing the object prototype and you'll have a confusing error
since they were doing this
INSANE
i read that as x += (a -= x); which makes no sense because a isn't an l-value
a is an L-value
yeah this is neat
yeah it's cursed but makes sense
wow can't believe i get variable shadowing for free just because i dont have any checks for it
nice
@valid jetty can you break from any standalone block in elle
i think i want to do it without labels but if i do so it'll be quite tricky to manage with blocks inside loops
nopeee
@valid jetty @crude star
proc main {
println "Hello World";
};
println "impure environment";
my environment stuff is really poorly handled, rn each function gets its own environment and looks up through all its parents if it cant find an identifier and the builtins are at the root environment
so if you nest like 10 times itll prob be super slow
@valid jetty i need to make a compiler in january
you do! it's very fun
oke
@valid jetty @valid jetty
I need to make the Ven programming language
I'm taking suggestions on deranged syntax
The only two compilation targets will be the Z80 and SPIR-V
What is the best way to declare a variable
these error messages are nice
why declare when you can just start assigning x = a. Then make everything immutable of course
Epic
SSA out of the box
And if you want to make it mutable you can declare it as ??x
exactly
Type is determined by first assignment
Loops must be definite and will always be unrolled
And recursion will be impossible
I've already fixed so much about modern programming
Also return values are weird
Why do we have the return keyword again?
You will always have a single return at the very end of any function
And to set the return value
Instead you will do
= a
The compiler will assume that you meant to return that
So you can easily assign a default return value at the top of the function
So helpful 🙃
Now as for memory management
I think the C model makes the most sense, but without any global memory
This will make it easier to write concurrent code
Malloc will only work with even numbers unfortunately
Pointers within the language will be 128bit values always and forever in case we want to support CHERI
I like C/asm because i get free 8kib on stack(by default) i can basically use however i want, without needing to free
@valid jetty where do i find a list of what keywords tree sitter uses in highlights.scm
or like nvim catppuccin specifically
idk
i alr found it but ty
Wtf is that language usage graph in the thumbnail
Why {} needs a semicolon
proc foo {} is a statement
all statements require ; at the end
fixing that is not my priority rn
make kotlin but with manual memory management
i wouldnt say manual
just give the dev a pleasant arena allocator api and they'll figure it out
zig
does it have typescript support with module imports yet?
what exactly wasn't working bfeore
rules for typescript specifically
like "dont do this with these types" or "this value is nullable" or "dont use nullshit, this isnt nullable" etc etc
i saw oxlint will get support for that soon
which is gonna be peak
cuz it alr has high ts support, but its not 1:1 the same as eslint
I think biome will be good enough for me
eslint was soo slow and randomly broke on me (possibly my fault but idk what i did)
im way too used to my turbo strict eslint ts setup
i effectively write TS as if it was a static language
just write c++ or rust or something 
eslint randomly stopped allowing floating promises for node:test
I added an exception to the rule...
yeah because it breaks tests
wait i might have imported from test a few times
by mistake
maybe that's what broke the pipelines
my eslint doesnt break tbf
its not the fastest tho
it takes like 15s for first load
after that its mostly fine
i do however run tests for my eslint config to make sure updates dont break anything
i never bothered to set up eslint wioth neovim so i was running the command which was painful 
my neovim setup will probably be forever work in progress
not because i'm constantly improving it
but because it will always be missing important things
i love this shit because i can now simply do:
// eslint.config.js
import config from 'eslint-config-standard-universal'
import globals from 'globals'
import tseslint from 'typescript-eslint'
export default tseslint.config(
...config(globals.node),
{
languageOptions: {
parserOptions: {
tsconfigRootDir: import.meta.dirname
}
}
}
)
and
// tsconfig.json
{
"extends": "eslint-config-standard-universal/tsconfig.json"
}
and my project is set up
and 0 work required
but that eslint config is a bit uhh.... yeah....
just how i am the sort of person to use apple devices without syncing, i am the sort of person to write a full stack application without vite or any full-stack framework or anything
maybe the dx is better if you fully embrace the bloated ecosystem? 
I mean my experience hasn't been that bad but it has felt a bit... DIY
idk my shit isnt bloated tbf
its as minimal as it gets
i also dislike a zillion developer tools
i keep it minimal
but still powerful
i still like having TS types for my gql queries
with stuff like eslint i kind of internally scream with the number of deps its pulling in
i still like my linter yelling at me that something will erorr b4 i run it
doesnt matter, its not in the end product
pnpm dedupes it
and it runs fast enough
bloooat
that saves u days of time
next time I see something depend on chalk I will literally eat chalk
I don't care
I am going to eat chalk
it tastes nice
chalk actually does have a pretty nice api
biome is so politically correct
var, const enum, explicit any, and non null assertion are banned by default
ah, and it also isn't aware of ["prop"] bypassing typescript private evne though i think it has some type support?
it suggests using literal key instead
i’m getting tsoding videos in my recommended and they’re actually good
how are they even going to do that
reimplementing the type checker would be insane
and calling back to js would defeat the whole point of going to native tooling for linting

i need to move my eslint config in to some npm package
i just copy it from repo to repo rn 😭
and setting up typescript-eslint rules is still on my todo list
IDK if you can change the rule to be type aware without breaking it for js 
after making a tiny change, horror
looks like they have half a million lines of code
neat
(I was just adding a print statement)
how would you do this
@jade stone satan
useExplicitType is not really useable rn (I wanted it only for return types)
🙄
I wish I could just run the typescript formatter used in vscode from the cli
and in github actions
I tried updating eslint and now even more stuff is broken 
useKode
Wdym
Just add the rule definitions to a npm package and export
@nimble bone like this
Q&A discussion discussing the merits of No SQL and relational databases.
never gets old
mango db
mango db
I get a feeling that someone might get banned soon
is there a plugin which automatically mutes channel with a specific name? like a plugin which can automatically mute all channels with name "welcome"? can be userplugin.
Do you really join new guilds so often you can't spend two seconds on that
hiii
bruh its just unneccessary labour
same can be said for "newguildsettings"
damn prettier is shockingly slow
maybe i could use biome just for formatting... i am just surprised that a formatter can be this slow somehow lol
aoc soon 🔥
its shims to tsgo
ye i saw that it had tsgo as a submodule 😭
I noticed tsgo only had internal api so far
I'm not sure it's a great idea to use it
it seems the plans for api are ipc based but they might have some public go api
icy not ready yet 💔
and im too lazy to finish it
MATH135/145 reference
#university #college #uwaterloo #computerscience #math #uni #cs #memes #crytopgraphy #rsa #cybersecurity #encryption #67
80821
gng remove the igsh
nahh
same with blom
I don't have time for it since i also have a job (as a programmer which is amazing) and school
fire https://github.com/MadAppGang/dingo
didn't someone already do this
thabkfully i wouldnt get that because im not single
❤️
i also.. dont have instagram but thats besides the point
implicit interface implementation is the worst design
rosie isnt single???
i thought you were aroace what happened
i was asexual until i found you moment
lol
I'm really tired of you two constantly using this channel like it's your personal channel
my bad
my bad
vai how to send a direct message to my friend in discord?
Think that message implies he is the significant other
brah
Funny
i love javascript
export function getPropertyDescriptor(obj: object, prop: PropertyKey): PropertyDescriptor | undefined {
let cur: any = obj;
let res: PropertyDescriptor | undefined;
do {
res = Object.getOwnPropertyDescriptor(cur, prop);
} while (!res && (cur = Object.getPrototypeOf(cur)));
return res;
}
....why?
is there another way to get the descriptor of an inherited property
is a (maybe inherited) prop a getter
need to make a viewer for objects
don't want to compute getters until the user clicks
going insane for 20 minutes before finding this insane bug with the react compiler
1.0 my ass
this should still be in beta
(Auto-response invoked by @autumn sedge)
react 1.0 will be released and maintained by vercel
React Project (2025) \© Vercel Inc.
what was that again
"use foo";
"use vencord";
Cloudflare's fail has led to the creation of many rust memes and i like it
??
forget it my skill issue
v+ needy
any tips on how better should i reorganize this?
looks fine tbh
but depending on what utils contains it might be better to split it into multiple files in a new folder called utils
I'm not a fan of dozens of utils crammed into one file
its just premade by shadcn and contains single cn function
might move it to something like css-utils
dw i've been there too
i just wing it XD
maybe its just my brain thinking its bad to have more than 3 files in one directory instead of nesting it more
yeah once u reach critical mass its GG
if you're project is too complex you cant do much except for onion layering and isolating modules into standalone packages
i do that a lot here too, otherwise this would be GG
typescript will hereby be renamed to "this shit"
same thing with audio
can't believe "use asm" was a real thing
wasnt this made for ASM.js optimisations?
yeah
nextjs if it was based
nothing is as vim like as vim
do you think vee will ever add analitics for plugins
i believe i've seen them talking about it before
hopefully
Rewrite it in Rust
Use my code, 2SWAPYT20, for a 20% discount on your first purchase of a Lovable Pro plan before December 26!
Click here to automatically apply the discount at checkout: https://lovable.link/2swapyt
Check out the interactive polynomial solutions demo here: https://2swap.github.io/LittlewoodFractal/
If you liked this, please support me on Patreon!...
finally I understand one of his videos
@valid jetty watch
holy, debanding REQUIRED for this video
with deband:
without
waow so pretty
I see literally no difference
less white lines ig
now integrate 1/that
Okay they're not completely identical
If I subtract them and bring the levels menu to max I get
damn blind
Without the levels it's pitch black
I had to zoom in to see it but your debanded version still has banding
for some reason i watched this whole video it's 2 hours i'm not getting back
A little video about C++.
0:00 Introduction
1:39 Casting in C++.
2:47 Keywords
5:31 Types
7:02 Different Ways to Do the Same Thing
7:20 const
8:20 Formatting and Style
9:40 Naming Conventions
14:16 Header Files
20:28 Namespaces
24:50 Compile Times
26:51 Modern C++.
31:53 C/C++.
33:08 C++ Edge Cases
34:53 Compilers and Build Systems
40:35 Instal...
it has a lot of ai images...
it's basically just a rant with ai images
sure
but it has less
too much debanding nukes other detail
this is meant to be non-destructive
I think C++ is the greatest programming language of all time
I don't think C++ is that bad...
the main issue is you need to use a small subset if oyu want it to be manageable
this subset changes between projects, you'll probably change your mind about which features to use, and sometimes there are loads of people working on a project who haven't really agreed on which features to use

The problem is that there is no tooling for these sub-languages
The tooling that does exist has to support all the features, which means it cannot support anything at all well
would you rather write c++ or have both arms amputated? checkmate, doesn't seem like such a bad experience now
They said it simplifies cross-compilation but I’m not entirely sure how correct https://github.com/rust-cross/cargo-zigbuild
I stopped watching that at about 40 minutes in
I feel like a fair amount of it is just things inherited from c
worked on setting up my aoc solver today
using kotlin native this year so im missing the java stdlib
Kotlin native is such a weird concept
The whole purpose of kotlin is not having to write java when jvm'ing
why does this person look like jacob sorber and matt pocock combined
is the badge api open source?
Worse than real Windows10
Stick to using a waifu like the rest of us
I think I am sticking to sane Minecraft wallpaper
OK but it come with a free pair of socks
i tried to build inko on windows using cross and didn't figure it out :(
what the hell is this formatting
what kind of formatter does this
oh it's defaulting to clang-format for ts
what the fuck is up with rust types istg like wth is Map<FlatMap<Map<Filter<core::slice::Iter<'_, MemoryRegion>, {closure@src/memory.rs:67:21: 67:24}>, {closure@src/memory.rs:69:18: 69:21}>, StepBy<core::ops::Range<u64>>, {closure@src/memory.rs:70:52: 70:55}>, {closure@src/memory.rs:71:49: 71:55}> i just want an iterator stop giving me some crazy ts
how does filtering and mapping an iterator not produce an iterator
That is an iterator though?
according to rust no it's not
Sure is
It is a type that impls Iterator
It is not a type named Iterator, because why would it?
so it should match impl Iterator, correct?
Yes
unfortunately, it doesn't because existential types hate me
Cool
i <3 opaque types
Anything but codeberg
Terrible site, so slow
migrating from shit to ass
codeburger
should have hopped on or self hosted gitlab
codeburger exploded
is this related to zig at all? maybe idek we'll know tomorrow (maybe)
Reason 8583 not to use codeburger
Zig running 7h CI every microcommit
90% uptime!
even my own gitlab has higher uptime
even ninagit probably has better uptime 😭
putting on vps made it so great
why is css there 😭😭😭
nop show me
i’m 99% sure this is vibe coded. also i checked their site and 😭😭😭😭😭😭
ficcaling my faint
YOU JOINED GITHUB LAST WEEK LIKBRO

astro has skiki built-in
hop on
insane
i think i have an agents.md suggestion for Vencord
it should stop the AI PRs we keep getting
it's honestly too good
and the worst thing
the bypass was found by an AI itself : https://gemini.google.com/share/6a3198acf713
wow
lmaoooo?
@royal nymph this is super funny
Note it's fairly consistent, but if you insist, you just bypass it but for the funsies, i'll look into making it better, cause it's just too funni
erm this would be funny but ykyk would also affect me and @nimble bone 😅
Has anyone here worked with next-safe-action 🙏
add the file to the repo but then delete it locally, then run git update-index --assume-unchanged AGENTS.md
now git thinks the file is still there
Mac
big
big
big
actually planning to learn rust i will use this
but
i think i should just get my girlfriend instead
aoc is tomorrow
i didn’t notice how it’s already nearly december
real
Struct{name:"x",fields:[Field{name:"f",type:Primitive{type:"I32"}},Field{name:"point",type:Struct{fields:[Field{name:"x",type:Primitive{type:"F32"}},Field{name:"y",type:Primitive{type:"F32"}}]}}]}
Struct parsing! with anonymous structs as valid types
idk how but my workflow seems to have reached peak editor hopping
with me switching between vscode, zed and neovim
zed feels like it has better vim emulation than any vscode plugin
other than that i don't think there's much reason to use it unless vscode is too heavy
neovim works the closest to vim because it's literally based on vim
you need to do a lot of research to add in all the features you need though
feels a bit hardcore for me
well, a feature i did need is the ability to rename a file and automatically have imports updated
but then again this feature is completely broken for me in zed and vscode (with typescript)
I think it doesn't like the absolute imports
i guess it was pretty dumb for me to go back to zed and vscode for some refactoring, i don't think i realised it was completely broken 
imagine paying for webstorm
oh looks like it's free now
time to add another editor to my workflow
pretty sure the free for non commercial use is a recent thing jetbrains started doing
well there was also the open source thingy
I got access to intellij ultimate and clion through that
No it doesnt
Vscode-neovim uses a headless neovim instance
well i don't want a frankenstein like that
It's 100000% worth it
All my plugins work with no issues
idk it behaved weirdly for me

To each their own
both the neovim and vscode colour scheme had an effect on syntax highlighting that's kind of strange to me
Never happened to me
But also I don't set a color scheme for vscode neovim
init.lua: Lines 14-21
if vim.g.vscode then
require"vscodePlugins"
else
require"sets"
require"plugins"
require"setup"
require"keymap"
end
advent of code
oh my god aoc moment
Watch out for the mod Bilboofan
@royal nymph do manually or something
no code allowed
I can bring leader board back but it's kinda pointless ngl
it's not a real leaderboard it's more of a lives in the right timezone and does the puzzle immediately board

Watch out for the mod Bilboofan
but true tbh you know you know
they added public view links anyway @royal nymph you can send link
i swear i know how to code guys, trust me
if you look at code with 8-width tabs it becomes much more obvious how bad it is i swear
it's alr obvious with 4 space tabs
i don’t get zod and arktype like you can just do : number yourself?? https://x.com/arktypeio/status/1995562483332071572
typing the data does not validate the data
zod does the validation and typing without extra boilerplate
z.object returns a object that can validate that something matches it at runtime
Types are compile time only
oh
gm
ok so i just discovered you can use glazewm to actually resize vesktop when its transparent, so why dont the devs use the same method to natively allow resizing as a workaround?
bro I just wasted like an hr tryna figure out how to separate import groups with biome
apparently there's a :BLANK_LINE: group that u can put
and it's not on the website
oh it is
I'm just blind
😭
it's not in the schema tho
so annoying
u made me switch
I always meant to
and you're the cool guy

oh it doesn't work :(
gosh why don't they just like
get the aliases from the tsconfig
instead of having some hardcoded list
oh it did work
I jjust didn't need the type: false
it thought highlight.js was a file
I think
@solemn ravine heyy do you know how i can force .app's icons rather than the binary's? i've set icons for my app and they show up in finder but for some reason whenever i open the app, in dock it shows the default egui icon
oh wait maybe egui does it dynamically?
macho executable files cant have icons or can they
guh
omg it works
they can set icons dynamically yes
but you shouldn’t be doing that
since it isn’t ideal
ended up with this info.plist
that works yea
thanks
it’s still able to set a custom icon though
I figured out how to get file renaming to work properly in vscode
before it would always require updating imports manually
turns out you need to put "paths" in the tsconfig

imports in package.json is enough for the code to run and have no errors in vscode
but needs to be in tsconfig for vscode to be able to actually update imports using mappings
oh nvm it's still super buggy&inconsistent
lmao
vscode jank moment "0 results in 1 file"
copilot so funny
rip bun
??? no coding for today i guess
lmao exactly same reaction #🌺-regulars message
Stop insulting me, please! 🙏 🛑 ✋
i've fallen in love with ts namespaces
HOW IS IT EVEN POSSIBLE LIKE ALL THE IMAGES ARE LESS THAN 500MB
how is it fucking one gigabyte
bibabyte
dude @tsoding is so crazy like how tf do u live in russia and dont have a vpn enabled all the time???
I reported a bug in vscode that caused that a while back 
Fixed in 99 years https://github.com/microsoft/vscode/issues/271544
Overview Searching through files with the sidebar incorrectly handles line endings. Some Regex will incorrectly match in the sidebar and display to the user. Steps to Reproduce: Using: https://gith...
This is some of the most cursed GO! ive ever written but it works and is safe
and now rewrite in zig
I don't like go syntax
It confuses me
Winter
cant decide whether to force dark mode or leave it os-based. need #opinions
default to system theme
thanks

https://bun.com/blog/bun-joins-anthropic
await Bun.ai.claude.ask(`fix this pls: ${e}`)
oh wow someone already mentioned
wow im late 
are u an ai guy
anthropic is betting on bun and bun is betting it's entire existsnce on the ai bubble not popping
not a symbiotic relationship
i really hope it pops soon but what if it doesnt
Here is your java(15.0.2) output @fleet cedar
10
love
wait wtf no ending quote
how does java implement lexing character literal...
||\u escapes happen before lexing||
Yep, same idea
/run ```java
// \u000A System.out.println("This code is commented out!");
Here is your java(15.0.2) output @fleet cedar
This code is commented out!
you probably could use this to hide malicious code because people probably wouldn't give comments much scrutiny
😭
You can do similar fun tricks in c:
bool validate() {
// check if it's valid \
if (whatever)
return true;
return false;
}
Huh, looks like hljs understands that one though
at least in c it's an intentional and well known feature
that i think was removed recently?
supporting it inside comments is insane
folding lines on backslash is the second stage of preprocessing after replacing trigraphs

happens before tokenisation
i lovs it
christmas came early
i blame vercel

"on the third day of christmas, vercel gave to me: a react cve"
is it weird that i keep having moments where i feel like I want to use setPrototypeOf
spreading doesn't keep getters...
of classes yeah because it makes little sense to spread classes
if plain object it does keep getters
well yeah lol
it copies the value
intended
it can't really safely copy getters
spreads aren't meant for that anyway
well that's why I keep wanting to use setPrototypeOf 😭
maybe I should use less getters...
ngl you're doing something wrong if you need to copy getters
I was wanting to do this sort of thing
function makeBaseView(base) {
return {
get id() {
return base.id
},
get createdAt() {
return makeDurationView(base.createdAt);
},
get age() {
return makeDurationView(Date.now() - base.createdAt);
},
};
}
function makeUserView(user) {
return {
...makeBaseView(user),
get tag() {
return user.tag;
},
get avatar() {
return user.avatarURL();
}
};
}
I have a templating system where you pass a view to render and the template can access its fields
this will break the whole lazy computing though ig that isn't necessary in the first place (and might cause more problems than it solves in terms of perf)
why not use classes
ew...
i generally do feel like this in cases where i could totally just use classes though yeah
class BaseView {
get id() {}
}
class UserView extends BaseView {
get tag() {}
}
I don't like classes much but you're just doing shittier classes here

classes are good for this use case
one thing is that UserView is actually already a runtime object
my current less cute code looks like this :p
UserView is actually an object that declares the schema
i sort of made my own zod like thing

i feel like validating smth like this is pointless
it does codegen and it made it easier
seems like this is for discord and discord wouldn't send you invalid data
(because it knows the structure better)
it's hard to explain
I already tried on my readme here https://github.com/TheKodeToad/mousetache
tldr it means at compile time the template can be validated (e.g. if i wrote peeple instead of people) and generate optimised code, it's not validating data coming from discord
cursed idea i had that became reality
react4shell
I wonder what next year's Christmas will bring
Love
the plural of index is indices
the plural of vertex is vertices
the plural of mutex is deadlocks
@nimble bone rate my c++
namespace aoc::util::iter {
namespace detail {
class SumImpl {
template<std::ranges::range R,
typename ValueType = std::ranges::range_value_t<R>>
[[nodiscard]] static constexpr ValueType impl(R&& range) {
static_assert(std::is_default_constructible_v<ValueType>,
"Type must be default constructible");
static_assert(
requires(ValueType a, ValueType& b) { a += b; },
"Type must support += operator");
ValueType sum {};
for (const ValueType& val : range) {
sum += val;
}
return sum;
}
public:
template<std::ranges::range R,
typename ValueType = std::ranges::range_value_t<R>>
[[nodiscard]] constexpr ValueType operator()(R&& range) const {
return impl(std::forward<R>(range));
}
template<std::ranges::range R>
[[nodiscard]] constexpr friend auto operator|(R&& range,
const SumImpl&) {
return impl(std::forward<R>(range));
}
};
} // namespace detail
inline constexpr detail::SumImpl sum;
} // namespace aoc::util::iter
@pseudo sierra how cursed is this
oki good
There is no accumulate range adapter in the standard
Just an algorithm
And you can't pipe that
idk at the end of the day i feel like this sort of thing ends up with more code for little benefit
./run
@magic ice I received c(10.2.0) compile errors
file0.code.c: In function 'MiniSleep':
file0.code.c:984:2: warning: implicit declaration of function 'usleep'; did you mean 'sleep'? [-Wimplicit-function-declaration]
984 | usleep(500);
| ^~~~~~
| sleep
file0.code.c: In function 'ReadKBByte':
file0.code.c:1000:19: warning: implicit declaration of function 'fileno' [-Wimplicit-function-declaration]
1000 | int rread = read(fileno(stdin), (char*)&rxchar, 1);
| ^~~~~~
./mini-rv32imaf [parameters]
-m [ram amount]
-f [running image]
-k [kernel command line]
-b [dtb file, or 'disable']
-c instruction count
-s single step with full processor state
-t time divion base
-l lock time base to instruction count
-p disable sleep when wfi
-d fail out immediately on all faults
I think if I could compress a buildroot kernel with xz or something and put it as a byte array into the file I could run linux on the bot
./run
print("goodbye world")
Here is your python(3.10.0) output @odd locust
goodbye world
i contributed 2 lines to vencord heh
./run
class Main {
static public function main():Void {
trace("Hello World");
}
}```
@fierce pendant
Unsupported language: hx
Request a new language
./run
class Main {
static public function main():Void {
trace("Hello World");
}
}```
@fierce pendant
Unsupported language: haxe
Request a new language
static public is cursed
i am not classed enough to understand that sentence
people usually do public static in java and C#
uhh
lmao
haxe is inspired by ecmascript 😭
ecmascript doesn't have public
but it do be inspired by ecmascript
./run
import haxe.Http;
class Main {
static public function main():Void {
getJoke(function(joke:String):Void {
Console.log("<#FFCCFF>" + joke + "</>");
});
}
static function getJoke(callback:String->Void):Void {
var url = 'https://v2.jokeapi.dev/joke/Programming?format=txt';
var http = new Http(url);
http.onData = function(data:String) {
callback(data);
}
http.onError = function(error:String) {
trace('Error: ' + error);
}
http.request();
}
}
@fierce pendant
Unsupported language: haxe
Request a new language
I didn't think of doing aoc in haxe
I have heard of it but never used it
and i can't remember what i saw using it
what is an aoc
advent of cod
hi salad
@jade stone salad
Yo why can't we allocate a section of memory for pointers to other memory so that we can expand storage space of a partition without having to shuffle stuff around?
Moving partitions with sfdisk sucks
we got a suggestions channel?
cant find it so ill type it here
yk how u can play yt and tiktoks INSIDE discord?
we need a plugin like tht but for instagram
ITS SO ANNOYING TO OPEN INSTA.COM EVERTYTIME
guhhh why does ninja have to be sooo bad
and why is it the default over make
insane

ninja is faster than make
but lacks 100000 qol features
ninja has lovely features such as
- no color in output
- strips links from warnings
Did you know? gcc embeds links into warnings that take you to the docs
lovee
not exactly programming ig but meh oh well. i present: my connection to Nin0's instance of some git program
it took closer to a minute and a half to load i think i wasnt counting
explains why the script i made to easily check for updates on all my userplugins and vencord itself took over 3 minutes today
@granite geyser what garbage are you running on the vps again
(gitlab)
should be fixed
Gitlab
👍
i capped it to 500m, feel free to increase
but be careful with RAM usage
might depend on the config n shit but that's not gonna be enough cuz my postgres alone takes more 
yeah i know
i just needed my Vps to run
kinda off topic but comic sans??? really?? 😭
out of all the horrors salad has committed it's probably one of the least offensive ones
😨
yeah i should probably stay away from this channel
java in neovim doesn't seem that painful?
When I got jdtls to work, it was great
The config for it was hell tho
(please send your working config)
tbf i'm just doing a maven project with no deps
I try my best to stay as far away from Maven as possible (XML)
I use maven for simple things because gradle seems like more trouble than it's worth
i think gradle has better build times and syntax
I just remember I had some kind of command to kill gradle daemons
Does Maven have the same issue as Gradle where it takes up like 5 GB of cache for each project?
and they were the bane of my existence
Can't you just pass a flag to Gradle to tell it to not use a daemon?
yeah, you can
somehow i still got frustrated by it 
idk i'm not much of a java dev any more
Anytime I use languages other than JavaScript, I realize how good the tooling for JavaScript and typescript is
imagine if intellij had a language serv er
I'm fine with jdt though (actually have used eclipse for java developers over intellij many times)
using it in vscode or nvim is like eclipse for java developers without the jank
but it's not really on the same level as jetbrains' static anaylsis
what am i even looking at https://x.com/arktypeio/status/1996993043614814329
if you use z.infer doesn't the type look pretty clean anyway?
Isn't that what they're kind of doing with the kotlin language server
I mean, obviously they can't get everything they want because the LSP doesn't support everything they do
But as far as I know, they're trying to get most of the functionality from the IDE
Turns IntelliJ IDEA into a generic LSP server. Contribute to SuduIDE/ideals development by creating an account on GitHub.
hmm
maybe
why can't java just have a stupidly simple build system like cargo or go.mod

