#๐ช -progaming
1 messages ยท Page 75 of 1
lmao is it real
yes
insane
he actually shills linux now
might actually make a pretty big impact
110M subs
and the video is really good
its an r-a bug i think
ive had those and they usually just go away
or more likely you dont have option imported or something like 98 said
this isnt about casing
rust has an enum variant called None and rust-analyzer gets confused because its not snake case
but None is correct
yeah i know
@valid jetty
macro_rules! err {
($kind:expr, $location:expr) => {
Err($crate::error::Error::new($kind, $location))
};
($kind:expr, $location:expr, $help:expr) => {
Err($crate::error::Error::with_help($kind, $location, $help))
};
}
most necessary macro
useful
why are errors such a pita in rust. like if during my method it can throw two different error types, how the hell do i even type it
like -> Result<T, ???>
now im too incompetent to write a regex to replace all my non macro errors
Result<T, Box<dyn Error>>
idk
isnt box something related to heap/stack
rustc: the size for values of type (dyn std::error::Error + 'static) cannot be known at compilation time
the trait Sized is not implemented for (dyn std::error::Error + 'static)
enum ErrorsForThisFunc {
Error1 { source: Error1, what: String }
OpenFile { source: io::Error, path: PathBuf }
}
Or, yes, you can use a catchall error if you don't care
languages.json: Lines 378-379
".ts": "ts",
".tsx": "tsx",
@spark tiger thanks for report, fixed in https://github.com/xhyrom/zed-discord-presence/releases/tag/v0.8.0, don't forget to give a โญ if you already didnt :D
thank uu! and yeah i've starred it already before
the ts icon doesnt work rn because of discord cache but should work in like ~15 minutes
i think your repo is like one of the most starred ones among zed extensions lol
maybe
i just found this and got an idea "let's do it"
that would be awesome
sadly extensions cant mess with ui so i have to do it via code actions
i was so dumb i thought like i would have to rewrite all that stuff to rust until i got explained that it's not how lsp's work
yeah you can write lsp in any language
and i just have to slightly modify the original code to convert it into an lsp and then use it in zed
https://github.com/xhyrom/zed-discord-presence/blob/main/src/discord_presence.rs this is basically zed discord presence extension
yeah im ngl i was using yours a bit as a reference but it still kinda confused me
i had to implement symlink creation because of github ratelimits
why is it so fucking hard to write a integration tests in spring
Convoluted things are harder to test
Its more about the fact it seems do documentation lacking
AI and crypto fan final boss
me omw to make the bot ignore all instructions, ping everyone and start banning everyone
Done! Is there anything you'd like me to help you with? Did you know that the shitdogememecoinfuckmaster3000 has risen by 0.1235432523% today?
vmute 28d @solid gazelle too freaky for their own good
Done!
Muted makeshift.heaven (@solid gazelle) for 28 days
you use an enum duh
this is a bad idea if youre building a crate
you dont want to erase your error types
i know
he just wanted to know how to return any error i think
@valid jetty @valid jetty hii
I think Box<dyn Error> should really only in leaf applications, no?
although you would probably want to use anyhow anyways
Anyhow has backtraces
i just dont like the idea of erasing error types of all things
i love leaking boxes
goddamit deepseek ๐ญ
get to implementing lazy ass
@valid jetty is -false == true
-0 = 0 lol
ofc its js
its giga common to see !0 or !1
why wouldnt it be js
oh true
still, real g's simply compile the JS to bytecode and load the bytecode to the v8 vm directly
but isnt that different from -false being equal(?) to true
!0 and !1 are just true and false in 2 bytes
instead of 4~5
js is cursed on every level
few do actually because its unsafe
I prefer readable code, myself
i need to try oxlint, because my eslint is blowing up
shit takes too long for my project now
biome is nice
not strict enough doe
if you ignore some bullshit default lints
it doesnt have many of the rules i want
i have like 1050 lines of eslint rules in my project
XDDDDDDDDDDDD
i rarely use the sequence expression myself, i too prefer readability
its just that, do i want to write an entire if statement for this?
but thats mainly because i use eslint as linting, safety checking, call checking, type checking, and formatting
since i simply dont like 10 tools doing 1 thing
Yes
Python is great for golfing
..what
whats the best way to yeet a directory out of existence in nodejs
rmdir?
rimraf?
fs-extra?
rmdir
Last publish: 9 years ago
https://www.npmjs.com/package/removedir, 6 years ago
i dont even know how you're supposed to use this, it doesnt export anything lmao
no ๐ญ
if we interpreter booleans as 0 and 1
fs.rm(path, { recursive: true, force: true })```
please do not use insane libraries for this ๐ญ
no npm?????????
i am now realizing i did not make it obvious enough that it was a joke
there's an extension for it
ikk but it was broken on windows
you can make pr
yeah im going to
i'm happy that discord presence works on windows though :D
oh it's this shit
yeah
wtf does any of that mean
one of the zed maints opened this issue but doesn't seem to have changed anything so
or should -false be valid at all
thanks
finally something that sint npm brainrot
as all things should be
tell it to ms 
I SAID IT ALREADY IM BROKE I CANT AFFORD A MAC
you dont need a mac to use linux
i need a mac to use macos. i had bad times with linux
when was the last time you've tried linux
if you choose correct distribution
then everything is okay
i have void linux for more than a year
and it's amazing
a bit less than a year ago
linux was meh to use for someone who isnt dedicate to it back in like 2020
it was mint
gets better every year
yeah
mint works
linux > windows
also i tried booting into an ubuntu usb flash a month ago and my wifi just didnt work lol
try again
well you need to set it up
i also started reinstalling my friends' computers to have linux instead of windows :P
my classmate decided to move to linux and chose ||kali||
me and my friends are bandwagoning each other
linux isnt perfect by any mean and it has so many flaws but i would never go back to windows
i remember that bluetooth just stopped working on windows and after booting into ubuntu and back to windows it worked again
havent had an issues
windows skill issue
easyanticheat - spyware
in ~2021 we were all on windows, then i installed ubuntu, they installed ubuntu/mint, i installed arch, they installed arch, then my friend got nixos and we all switched to nixos
:D
we have void linux
dual boot kernel ac games
if you play good games then you wont have gaming issues on linux
or dont play furry games
but nixos is amazing because of their configuration
okay okay then what distro do i choose
i used void linux for a bit but missed the aur
the fact you can just easily reproduce the machine state is amazing
its like completely irrelevant for a beginner
i can probably just like use linux for coding and windows for everything else
yeah i solved that by creating my own package repo, it's a bit of work, but it was worth it
yop
its kinda hard to use at first
everything is hard if you're working with it for the first time
2 second boot times are awesome but the only reason i used arch over anything else was because of the aur and the reason i even considered using nix is because it has nixpkgs
yeah aur is really good
nixpkgs is better ๐
WHY
on arch you can install things easier than on windows lol
actually like just today i was watching pewdiepies video and i saw him do systemd-analyze and instantly went to see if i could improve my boot times
how do i do it then
this is why all software needs to be written only for linux and maybe for mac
went from like 1:30 to 17s
and if its server software for bsd too
systemd has a lot of unnecessary stuff
no fr like how do i do that
how do i use cfg with expression
yes.
idk
you dont unless you have nightly rust
just create function
i had a bunch of services that shouldnt have been enabled but were so it was running at boot
like i did in zed discord presence
i explicitly stated in the requirements of my diploma thesis that windows support was not planned
ah k
discord_presence.rs: Lines 27-43
#[cfg(unix)]
fn create_symlink(src: &str, dst: &str) -> std::io::Result<()> {
std::os::unix::fs::symlink(src, dst)
}
#[cfg(windows)]
fn create_symlink(src: &str, dst: &str) -> std::io::Result<()> {
std::os::windows::fs::symlink_file(src, dst).or_else(|_| {
fs::copy(src, dst)?;
Ok(())
})
}
#[cfg(not(any(unix, windows)))]
fn create_symlink(_src: &str, _dst: &str) -> std::io::Result<()> {
fs::soft_link(_src, _dst)
}
and systemd had some issues with journal that was horrible with my hdd from 1843
hi rosieee
if cfg!()
lol
explode.
tysm
how did you get that?
ok so basically i need to remove my screen
this is from 2014 lol
and my firewall and my internet
oh okay
but you dont need it anyways
void has almost instant boot
like it boots before you can sit down
yea
you can turn this into an if i guess
is wakatime_cli variable only available on windows?
uhmm
alpine is probably more lightweight with busybox and musl
ended up using it like that. also no, i just need to use trim_start_matches only if it's on windows
or you can make a service that calls uptime
alpine is the docker os idk if its actually that good for desktop use
what wrong
i want it for raspberry for the voice assistant
how does that compile without let being mut ?_?
i put it on my raspberry too
how are you accidentally copying everything i do
oh it doesn't ur right
and probably easier to install on rpi than void
did u actually lol
yea
13s long build for a 300loc file 
@hoary sluice opinions on
for i in [1, 2, 3] {
$dbg(i);
}
for [1, 2, 3] {
$dbg(it);
}
```???
it has a welcome message that shows the install script and running the install script doesn't remove the welcome msg so i was confused for a while
oh xdd
first one is good second one pls no
kotlin has it everywhere, you dont
it would be funny tho
with is a cursed feature in js
i did that in the original icps and it only caused horror
with ([1, 2, 3]) {
console.log(toString()); // 1,2,3
}
for 0..10
log i
๐ฅ
guess what kotlin has this too
what????
wtf i hate this
yeah it's horrible
jai has this feature its cool
with (Math) {
console.log(PI)
}
or well not quite like that
cool?
i would never use it
its more like
struct Foo { i32 x; };
fn Foo::bar(@scope Foo self) {
return x;
}
``` this
this isnt jai syntax
but you get the idea
yea
in this case it's like in java

you can use this. but you dont have to
C:/C:/
but JS took it into another level
@valid jetty is this
or
https://github.com/eagely/icypeas/commit/31f3885ca58a159cf6a4c6fad76934eb86221870
i know you didnt ask me but i like it more 
it just reduces the amount of code i need to write
yea
and i think its more readable
ellefication of icypeas
tho maybe not very idiomatic
sheafification of g
start using crust
you could totally do this without a macro
why did i read that as c-rust and not as crust i feel like i shouldve read it as crust first
i want there to be no difference between Error::new and Error::with_help because i frequently change between them
maybe i realize i need to add help or i realize the help is useless
also @fleet cedar @valid jetty is there a way to make trailing commas work in macros
ty
($kind:expr, $location:expr $(,)?) => {
ok
how did you do that faster than me when i have it open in zed
wakatime site is so random cuz like why does it have a fucking twitter follow button
oh this is so husk
i wanna make the trailing comma forced but a trailing comma on a single line is husk
this works well w/ claude too
using rust in my swift project ๐ช
@hoary sluice @placid cape hii
i dont like that you have to do --
but i see no other way
why the --
isnt that only needed when the args are prefixed with -- and u want them literally
because the command is parsed as /usr/bin/env ellec --hush --run ./examples/exec.le -- foo bar baz
no
in compilers you use -- when you wanna denote "these args should be passed to the executable, not the compiler" (at least when theres a --run mode like this)
lookie
you finally got shebangs
Add --husk flag
you might need to update your treesitter grammar
yey
elle for scripting? ๐ฅ
yeah i just made #! be treated as a comment lol
will add
but yeah with shebangs i also added the --run flag
you can now do ellec foo.le --run -- foo bar baz
it is the most BASIC run flag ever but whatever
if let EmitKind::Executable(path) = out {
if run {
let exec = Path::new(&path).to_path_buf();
let with_slash = Path::new(".").join(&exec);
Command::new(&if exec.components().count() > 1 {
exec
} else {
with_slash
})
.args(exec_args)
.stdin(Stdio::inherit())
.stdout(Stdio::inherit())
.stderr(Stdio::inherit())
.output()
.unwrap_or_else(|err| {
panic!(
"{}Failed to execute {path}: {err}{}",
get_RED!(),
get_RESET!()
)
});
remove_file(&path).unwrap_or_else(|err| {
panic!(
"{}Failed to delete file {path}: {err}{}",
get_RED!(),
get_RESET!()
)
})
}
}

@dawn ledge which way should it be
--release, -R
--run, -r
--release, -r
--run, -x
--release, -r
--run, -u
-e
for what
run
hmmmm ok
"I have a proof, but it is too large to fit in the margin, so it is left as an excercise to the reader." - Pierre de Fermat, 1637
i say that because stuff like terminal emulators do this https://github.com/alacritty/alacritty/blob/a0c4dfe962fdb0ee00b85de1cd2af16a0e8e2e9e/alacritty/src/cli.rs#L167-L168
cli.rs: Lines 167-168
#[clap(short = 'e', long, allow_hyphen_values = true, num_args = 1..)]
command: Vec<String>,
athough its completely irrelevant to elle
you can also just force it to be --run <path> <args...> and avoid the --
ellec --hush --run ./main.le foo bar
:3
hmmm not a bad idea
it already has lsp functionality built in
whats a 40 line flag gonna do
what
i mean make ellec only compile and elle do stuff like running
i know yeah, but ellec just does everything all at once atm including lsp stuff
elle sp
elle stack pointer
ok cool
if (x) x else y
wait but ?: is a token?
yes
reminds me of php doing casts HORROR
nvm its if (x != null) x else y because kotlin doesnt cast
in (int)xin php, (int) is a whole token, and int is not actually a type
adding partial implementations of operators is so cursed imo
why
?: is the elvis operator, it is not an empty ternary
they couldve picked ฮถ as the token
it is semantically tho
i see it was a shorthand for x ? x : y
its a common pattern to just want if x is truthy { x } else { y }
i made shebangs think theyre comments
its only for x == null i think
lool
just use # for comments
oh wait
i mean to be completely fair lol
im prob gonna use -- for comments in order to allow # and // to be used in the lang
only on line 1?
but itโs specifically #! thatโs interpreted as a comment not #
no i thought it would be funnier if i allow it everywhere
#! is a new comment now
just say you were too lazy to make it first line only
can u make an lsp execute code inline
i think the haskell one does that right
u can call a function with a hotkey
since its pure functional
making it first line only is like 1 line of code
i just didnโt want to
โ!โ if row == 1 => instead of โ!โ => or whatever for matching it
whats --hush
doesnโt print whether the file was compiled successfully or not
thats 7 charachters of effort
basically like โquiet or โsilent
why hush and not quiet
unbelievable. wireguard devs confused l10n with i18n ๐
those acronyms are stupid just call it internationalization
๐ญ๐ญ๐ญ๐ญ
a11y and i18n my beloved
a11y is so husk
LMAO
i love doing accessibility but if someone asks me to improve the a11y i am not doing it
my fav form of a11y is when the code works on my machine with my preferred configuration
and thatโs the whole a11y
just you wait
just tried cloning a repo with like 20-30 submodules. spent 20 minutes trying to fix it 
in ~4 months you will be shilling and glazing nixos
the neferious โrecursive flag
yeah that didnt work either
wha
are they like vendor sub modules cloned by the build script instead of git submodules or something lmfaooo
idkkk i kinda doubt it
do git clone https://github.com/pia-foss/desktop-dep-build && git submodule update --init --recursive (yes ik u can just --recursive in git clone but i think it doesnt show errors the same way git submodule does)
what am i supposed to be seeing, i cloned it
got a .git is not a submodule but nothing other than that
did it update all submodules
No url found for submodule path 'components/hnsd/openssl', is that what you got?
yep
is there something similar to pgvector that can run locally on an android device?
i have become a monster
wait what feature
also what is @
that is the feature
you can match something while also capturing the thing you matched as a variable
isnโt it like if let Err(e) = something 
slays
yeah wtf
thats just cursed
no its not equivalent
e@Err(_) captures the whole Err while Err(e) will capture just the inner part
its called an identifier pattern
thanks but i donโt think iโll remember it lol
i still donโt know what |v| pattern is called
?
are you referring to closures?
like that thing you use in map
yeah its called a closure, its bascially like an arrow function in js
or a lambda in python
|v| v * 2 ===== (v) => v * 2
yeah ik i just never knew what its name was
like in python itโs lambda, in csharp itโs.. something else
its just (x) => x*2
theyre all called lambdas
the general word for it is a lambda
its all called lambdas
yeah but in rust terminology its a closure :^)
well its still a lambda lol
math lovers and their obsession with greek
yessss
yeah but i havenโt really seen any rustacean calling it lambda 
they are different
rewrite the bible in greek
i guess so
technically lambdas are closures tho
otherwise you wouldnt be able to do currying
technically you are not human
husk
give me 500 reasons why youre human
rosieeeee
if lambdas didnt capture then you could not do |x| |y| x + y
i wonder how many other patterns rust has i didnโt know about
today's color is durian husk
rust reference is a great place to explore https://doc.rust-lang.org/reference/
they have ast definitions

currying is only pretty when your language doesnt use () for calls
i donโt wanna spoil it yet cuz i havenโt read the rust book yet ๐
how do you find something in your own code without knowing what it does
did bro vibecode
level 5 vibe coder
On my bingo card for 2025 certainly wasn't PewDiePie using Linux, but not only that using Arch Linux, Hyprland and making a Linux ricing video.
==========Support The Channel==========
โบ Patreon: https://brodierobertson.xyz/patreon
โบ Paypal: https://brodierobertson.xyz/paypal
โบ Liberapay: https://brodierobertson.xyz/liberapay
โบ Amazon US...
the year of the linux desktop
@royal nymph how to andoot pls
lol i still find async closures vs async blocks confusing
async move || async move || async move || async move { }
@nimble bone @ornate quiver rate 
light mode
late!!
wdym ๐ญ
woah
very nice
how do they want me to do it 
or does #[cfg(โฆ)] support being uh inside a method call
tyy
I just made a random picture and noticed a logo on a car. This logo looks extremely familiar to the colored Git logo.. ๐ญ
Microsoft
what does this do
is x IntegerLiteral?
TokenKind::IntegerLiteral
x is the value of the thing that got matched right
yes
why is it useful here
is this a new rust feature or why am i seeing so much @ lately
its not new
ok no its at least 3.5 years old
love

@valid jetty someone solved the 5th busy beaver??????
i thought it was only known until 4
A team of amateurs recently came together in an online collaboration called the Busy Beaver Challenge to pin down the value of BB(5), the fifth "busy beaver" number โ a notoriously difficult problem in theoretical computer science. The busy beaver problem, or โgame,โ involves finding the Turing machine with a given number of states that ru...
wtf is a busy beaver
In theoretical computer science, the busy beaver game aims to find a terminating program of a given size that (depending on definition) either produces the most output possible, or runs for the longest number of steps. Since an endlessly looping program producing infinite output or running for infinite time is easily conceived, such programs are...
The busy beaver problem asks, for a Turing machine with a given number of states, what is the maximum number of 1s it can write on an initially blank tape before halting, and what is the maximum number of steps it can take before halting.
basically just the halting problem
@valid jetty solve 6th bb in elle
(the collatz conjecture is a 6 rule turing machine so you have to solve that first)
Unknown words
eagely and rosie are math nerds
iโm done
1 sec let me upload the source code but it might take a second
It's 4, right?
close !!
considering you can have empty rules or unused rules, it has to be at least BB(5) which is ~47 million
been more than a second
@hoary sluice whatโs bb 64
man do i wish i could embed images and do syntax highlighting in plaintext
i dont wanna write my readmes in markdown
because plaintext ones are displayed in monospace
anything above 5 can probably never be solved unless P=NP
you have to solve the collatz conjecture for 6
iโve seen something that does that before
i donโt remember where
and probably a lot of others
they run a github ci which automatically compiles the typst document into a pdf, and you can embed pdfs in readmes
Is that the funny looping one
yop
and every other conjecture that fits in a 6 rule turing machine
solving Riemann hypothesis using lambda calculus first
this busy beaver and collatz conjecture you speak of is interesting but unfortunately im math illiterate
theres an infinitely recursive lambda calculus function that finds all fixed points of the riemann zeta function
do u know what a turing machine is
and now those are random words
๐ญ๐ญ
These are all words Iโve only ever heard on YouTube videos
how do you do computer science and donโt know what a turing machine is
plsss watch like 3 youtube videos on it from the big educational channels
yes and no
i have never looked up the formal definition
but i know that if x is turing complete i can do evrything i want with it
how do you live without knowing the meaning of life
something thatโs turing complete has memory, iteration, and condition
typically
itโs not the formal definition
but 99% of the time something which has variables loops and conditionals is turing complete
as i said i dont know the formal definition
i just know a turing machine outlines some sets of operations that a modern computational device should be able to perform or something
i dont know a suprising amout of things
i dont have a formal cs education
- infinitely long 1d array "tape" of 0s
- a cursor on position 0
- a set of rules, each rule stating what to do if the current cursor position is 0 and what to do if its 1
- rules say the value to write, the direction to move and the next rule to choose
- rules can just say HALT
- everything thats computable can be computed by a turing machine
- the busy beaver is the turing machine with N rules that writes the most 1s before halting, an infinite loop cant be a busy beaver
- busy beaver up to and including 5 rules is solved
- the collatz conjecture is an unsolved NP-hard hypothesis that can be represented as a 6 rule turing machine, therefore busy beaver of 6 requires solving it
neither do i 
i get the gist of it now ig
basically if you know brainfuck, thatโs a direct representation of a turing machine as a programming language
i wrote an interpreter in elle in like 70 lines xd
thats actually like 10 lines
all tokens are exactly 1 char long
so theres no lexes
lexer
and the language is fully imperative so you can just follow what it does
^^^ other than loops
i mean yeah but you also need to add the prologue and epilogue right
if i get my sway to work
ok it works
should i write it in icypeas
i have no io and no string manip so id have to represent it with function calls
true but i didnโt realize you finished it lol
or not finished, but finished enough to make it turing complete
well its not even close to finished but i have a working lambda calculus, binary operators, unary operators, and literals
monads when
selectFirst s = f
churchTrue f = selectFirst
selectSecond s = s
churchFalse f = selectSecond
churchTrue 1 2
churchFalse 1 2
addTwice1 s = f + s + s
addTwice f = addTwice1
addTwice 1 10
1 == 1
3 + 4
10 - 5
2 * 3
20 / 4
20 % 3
2 ** 3
5 & 3
5 | 3
5 ^ 3
7 == 7
7 != 8
3 < 10
10 <= 10
15 > 5
15 >= 15
(y $ (x $ y)) 1 2
(x $ x+2) 1
last 2 lines dont work yet
theyre inline lambdas
and i didnt add test cases for unary ops
but they work
even --7 is valid as long as you do -(-7) 
if you implement functors you can implement applicative and alternative and so much more
yeah elle has the same actually xd
priority list rn is:
inline lambdas
clean up the codebase (identifiers should use a string + location struct, rn they use Token which is an enum of all token kinds and values, error handling should be improved and i need to set up clippy with max checks)
basic io
either type system or lists
but thatโs only because i interpret -- as the decrement op and throw a lex error
nope i interpret --7 as (-(-)) 7
and (-(-)) is only a function in real lambda calc
- isnt a function for me
imo idents are fine as tokens as long as you make a function to extract the string value easily
i did that
but its still meh
let name: String = name.get_identifier_name().ok_or(Error::with_help(
ErrorKind::InvalidToken,
expression.location.clone(),
"Function name must be an identifier",
))?;
instead of just using the name right away
or at least name.name
cause it also has location
maybe one that just gives you the string with no context and panics if thereโs no string
name: String
i dont wanna ever panic even if its never a panic
lmao i thought you made get_identifier_name return an impl Into<String> or something and set : String so it calls into automatically ๐ญ
pub fn get_identifier_name(&self) -> Option<String> {
if let TokenValue::Identifier(name) = &self.value {
Some(name.to_string())
} else {
None
}
}
returning impl into string is husk afaik
someone should make an option! macro which takes a pattern like in matches! but takes the value out and creates an option out of it
what
i can make that actually
you mean if it matches its some if it doesnt its none?
I often make a cooler_matches!(&self.value, TokenValue::Identifier(name) => name.to_string()) that does that
you mean just if let in a macro?
if let with matches! syntax?
yeah its pretty easy
#![allow(dead_code)]
enum Foo {
A(String),
B(i32)
}
macro_rules! option_map {
($enum:expr, $variant:pat => $map:expr) => {
if let $variant = $enum {
Some($map)
} else {
None
}
}
}
fn main() {
let x = Foo::A("hello world".into());
dbg!(option_map!(x, Foo::A(x) => x.len()));
}
oh thats cool
in your case its what ไนๅ ซ sent
i mean they are chinese characters technically
they just mean 98 tho
theyre read kyuu hachi
in jp
@valid jetty i vibe coded a bf compiler
vibe coding compilers
yeah they are
whenever i see a bf interpreter in C they just have a static array of 30,000 chars
sad
this is a compiler tho
doesnt matter its just allocating 30000 bytes in the assembly, a bf compiler is just a program that generates a bf interpreter
oh yeah
like i said i vibe coded this so i didnt actually check
println!("section .bss\ntape resb 30000\n");
lmaooo
whats that
wheyre
whats wrong with cross compilation
i need to build it myself
Only that some toolchains (such as c++) make it really hard
@valid jetty fucking kill me
i spent so much time thinking about how to implement lambdas in interpreter
yesterday
why
ok it was like 5 minutes
but i couldnt figure it out
ExpressionKind::Lambda { parameter, body } => Ok(Value::Function { parameter, body }),
its literally this
wdym why
because iโm making a fork and want it to have executables for all targets
idk why i even made lambda its own type
i guess i planned to put the name of the function inside the Value value
gh actions
easiest
yeah but iโm afraid iโm gonna hit the limit
its free for public repos
oh yea functions do have their name included but in expressionkind not in value
yeah but i think it has time limit or something
like if an action takes too long it just stops
๐
it doesnt
or maybe it has
but im sure that running it for 12h is still fine
ok now if you have lambda calculus with parentheses instead of ฮป and $ instead of . its valid icypeas
untyped single arg
i have a great idea. what if lambda functions used ฮป syntax instead of whatever they use now
vec.map(convert(ฮป))
boy do i have a surprise for you https://en.wikipedia.org/wiki/Lambda_calculus
In mathematical logic, the lambda calculus (also written as ฮป-calculus) is a formal system for expressing computation based on function abstraction and application using variable binding and substitution. Untyped lambda calculus, the topic of this article, is a universal machine, a model of computation that can be used to simulate any Turing ma...
python is the closest it gets to lambda functions
lambda x: x * x
ฮปx.x*x
oh i thought functions were called lambda for no reason
or like a half life reference
how could i know its some math thing
how do u think of lambda calc as a half life reference
its one of the foundations of computer science
you are too valve-pilled just like me
the logo

yes but they dont know lambda calc
Theres the Turing Machine by Alan Turing, Lambda Calculus by Alonzo Church, and Combinatory Logic by Moses Schรถnfinkel and Haskell Curry, all 3 of which are complete systems that can compute any computable function
its not really math
It is very much math
id say it split off from math and became computer science
altho lambda calc is literally just algebra
but are they capturing
okay i was jk but at one point i did in fact thing all lambda uses were a half life reference ๐ญ
i think im finally ready to make capturing lambdas in elle
wtf is any of that
The greek alphabet is a hl reference
They're different ways to describe any possible computer program. Think of them as different programming languages with the same fundamental power.
eli5
everything is global
when you create a lambda
it generates a struct
where the fields are all like scoped variables
itll capture everything by value because then i can return the lambda
Ghostth
for a second i thought you said https://en.wikipedia.org/wiki/Combinatorial_optimization
Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combinatorial optimization problems are the travelling salesman problem ("TSP"), the minimum spanning tree pr...
๐
The knapsack problem is the following problem in combinatorial optimization:
Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
It derives its name from the problem faced by someone w...
oh! wtf
is it truncating or something
supposedly it fails here
i think i know why
was boolean algebra "combinatorics" invented after combinatory logic?
no idea
@valid jetty how do u use clippy
you just cargo clippy
or well i do cargo clippy --all
isnโt it in rust analyzer already
cargo check also
i got qbe to fail here https://c9x.me/git/qbe.git/tree/rega.c#n304
but i have NO idea what this function is doing
its do pm whatever pm is
parallel move??
my aoc utils mentioned???
pm == positive modulo
I FOUND THE ISSUE
its this
how??? idk
oh i see
lmfao
for things that are sub-word but signed, like i16 and i8
theyre gonna be into_base'd aka turned into word
so the offset is wrong
so the pointer becomes wrong
ok
cool
YAY
ITS FASTER ON MY THJNKPAD
insane....
jinkpad
every single test in the auto test suite in 1.7s is kinda insane
~/Desktop/Code??????????????????????????????????????????????
~/workspace
I have most of my stuff in /home/fun/*
~/Documents/garbage for other ppls shit and ~/Documents/shit for my garbage 
Nah /home/src for "large read-only git cloned project"
/home/large for large things that aren't git repos, such as video game dumps and music collection
/home/data is where all application-specific data and config goes, unless they're evil and disobey the XDG spec
i like my programs evil and disobediant
what do you MEAN
nvm it still works its just vvsc being Stupid
i used to put repos in D:/Git on my laptop (D: was a partition of the SSD)
now i decided to use what microsoft intended ~/Documents for
so i'm storing it in ~/Documents/Projects
.local is a dir i consider to be safely deletable lol
why did it not reply
idk
yall dont do it in /etc/programming ??

I can see the logic there at least
not in terms of practicality but in terms of naming
ah yes, https://github.com/eagely/icypeas, my favorite block device
the best one there
Some of my colleagues like to put things in /var/src
isnt var root protected
tell them not to
or do they chmod /var/src
probably from /var/www
It's kinda annoying
I always do apache2 stuff in my home folder before cp -r to the /var/www dir
nop
it would be chown no? cuz its owned by root (unless they have sudo)
@placid cape since when is tsoding on void??
you can use chmod to chown
fr?
He's using void??
Streamed Live on Twitch: https://twitch.tv/tsoding
Enable Subtitles for Twitch Chat
Chapters:
- 00:00:00 - Intro
- 00:02:06 - First look at the code
- 00:12:49 - Linking with the library
- 00:39:51 - Using the library
- 00:55:52 - Reading the documentation
- 01:07:15 - Echo Server
- 01:27:50 - Pub-Sub Pattern
- 02:03:11 - Conclusion
References...
timestamp link
yo WHAT since when bro. Ive always been using chown
xbps-query
chmod is short for chown and chgrp and the other perms
wait actually i think im stupid
i mixed it up
?????????
chmod is to change the permissions for the owner of a file
cool
yes i havent chmodded anything besides +x and 777 in a long time i forgor
lmao horror
yeah my thought would be to chown it or just not develop in /var
you can still use chmod tho
why would you EVER need to develop in /var
well fuck you because thats where elle installs as it doesnt require root permission
ill read up on the man pages when im done testing this. never thought chmod could do that
nixos incompatible i think
where do i put it then ๐ญ
i used to put it in /usr/local but that doesnt work on some systems because make fails when i run with sudo as the $PATH is different and .cargo is not gonna be in there
statically link it
make && sudo make install
it is statically linked but i still need to put the file somewhere
i mean true i guess..
u mean the elle binary?
no the runtime
because its not just the executable that goes into .local its the stdlib headers and runtime static lib too
make an aur pkg
and a nix pkg
and every major version pr into into nixpkgs
idk how fedora pkgs work
but you shouldnt be using fedora anyways
btw he has literally been using void for ages
it doesnt have a big pkg system
yea i vaguely remember now
Streamed Live on Twitch: https://twitch.tv/tsoding
Enable Subtitles for Twitch Chat
References:
- My dotfiles: https://github.com/rexim/dotfiles
- https://en.wikipedia.org/wiki/S-expression
- https://github.com/rexim/gruber-darker-theme
- https://github.com/rexim/simpc-mode
- https://github.com/tsoding/cm
- https://magit.vc/manual/magit/
Suppo...
this
watch
the excuse is always distrobox but if youre gonan distrobox then why not just use arcn
arch
i just use fedora because nix is unmaintainable as someone who is actually productive and arch needs me to update my packages every day
what both of those are wrong
fedora just kinda works and is fast enough that i dont care enough to try anything else
i dont have the time to spend 6 hours configuring my OS ๐ญ
its the same reason i dont have hyprland
i wanna spend more hours configuring my os its so fun
horror
imo nixos is only good as a server OS and for annoying veeeeee๐ญ
idk nixos is pretty cool for servers
u can steal a security config from gh
but not for a standard user machine lol
on an emotional level
REAL SHIT
NEVER THOUGHT I'D AGREE WITH YOU
/dev actually means devices
well fuck nixos casue ~/.local/bin is in the spec
riddle me this
do you care about nixos?
she thinks spending some time designing a website is a waste eagely
i think its fine to not want to spend hours configuring things
its not a waste if you want to express yourself creatively
its just a waste for me because i dont have the time
not exactly but im pretty sure ~/.local/bin isnt in ur path by default anyway lol
yeah
nixos packages are just a bunch of patches and bandages for nixos' design choices
@valid jetty
๐ญ
it works on nixos just requires 5 minutes of effort to set up fhs symlinks
i think its also fine to want to spend weeks configuring things
what
this is literally just false
i would agree
to each their own
theres home manager which is a big part and nh which is a cli beautifier basically but nixpkgs are literally just normal packages except theres a lot of them
Python
Compiling
yop
well technically it compiles into bytecode lol

