#đ˝Programming Chat v2
1 messages ¡ Page 17 of 1
But the reason why borrows and lifetimes exist is because of the borrow checker managing memory
LMAO
Theyâre the semantics that tell the borrow checker when itâs ok to free something
just use smart pointers in cpp and you'll be fine tbh
no way thats actually real đ
its extremely hard to unsafe memory stuff in cpp if you stick to good practices
LOL
evil
Thatâs a giant if though
And itâs easy to not
Vs rust where the compiler hounds you until you do
if you don't stick to good practices
And Iâm sure âsticking to good practicesâ works 100% of the time
it just takes so long to reach a MVP
it does
or, maybe 99% of the time
the 1% is caught by tsan/asan and clangd
Hm
Then how come so many memory vulnerabilities from software made by top companies that definitely follow best practices still exist
having a compiler backend for your static analysis is incredible
Hmm I wonder how that works
cause they DONT follow best practices
corporate code is the worst bruh
people be writing
all sorts of nonsense
Not claiming that rust is bulletproof either but it helps to have the compiler enforce things rather than just hand-wave sand say âoh youâre not following best practices blah blah blahâ
Like yeah bad C and C++ code is definitely a skill issue but even the most skilled are gonna fuck up because they ainât perfect
geninunely corporate code is some of the worst I've ever seen
clangd
tsan asan and
whatever else san
ok throw another thread at your program have fun
Mostly because people be arguing about how to do shit with rust
and it seems like writing simple code requires so much effort
At first yeah
because you have to prove to the compiler its safe
Once you get used to the rust mindset itâs no harder than Java
idk how you can say that
Some things are inherently more difficult eg trees
java has a gc
you don't even think about memory management in java
cause its done for you
in rust you do it all yourself
False
The borrow checker exists to manage memory for you
(not to mention java has a much, much larger stdlib, but that's covered by libraries in rust)
Silence Ada user
You have no stdlib and no other libraries
yeah but you gotta prove to it you're doing the right thing
we have a giant stdlib with GNAT okay...
we just don't have automatic freeing, only controlled memory
And you learn how to do that by learning the mindset
rust is objectively bad (atm) for linear algebra
Ok if youâre doing linalg go use Kaylan
it is infinitely worse to do linear algebra in rust than it is in cpp
wtf keyboard
wth is kaylan
Matlab
MATLAB
bye
If youâre doing linalg use matlab
fuck matlab
If youâre doing data sci use numpy
hell yea
goat
no way you recommend python
Iâm not gonna say that rust is the solution to everything
I would never use python in a production environment
numpy is great and all
but leave it to the scripts
hold on whats linear algebra about again
OH
oh wow
cause
theres just no good libraries for it
field ada actually excels at
There are things that are objectively harder compared to other languages but Rust is nice because you get managed memory with no GC out of it, along with other niceties like Option and Result
the pattern matching is kinda cool
the last I remember of it at least
that Result Err stuff
If everything was easy to do in one language then everyone would use that language (cough Python except itâs slow)
idk I forgot brah
python is only good because
of its ecosystem
if lua had pythons ecosystem it'd be gods chosen language
Python is good because you can do anything with it
yeah at
Due to the ecosystem but still
0.0001x the speed
ignore the profile picture thats from years ago when the only language I knew was py
But most normies donât care about that
don't get me wrong though python is still a great scripting language
yeah cpython kinda traded all of its guts for developer speed over computer speed
i've heard it's getting faster though
write fast python by writing as little python as possible
JNI mindset
Iâve done a little GBA with it, mostly generic shit like discord bots and rest APIs because thatâs all I do anyways
literally everything they release is a docker image now
its terrible
I will say Iâve done some embedded robotics too but like damn I gotta admit C is just way better
Way simpler
idk C that well
gotta suppress my urges
I enjoy the safety shit with rust but you gotta put more effort into it
141
Go write Ada that runs on an ESP32 and then we can talk
HAHA
ban
WE HAVE ESP32 COMPILERS ON ALIREEEEEEEEEEE
đ
Ok now gpio pin
irrelevant languages shall not be tolerated here
WE HAVE THOSE TOO
show me.
its not even funny bro
we literally have a ton of embedded drivers but something as simple as cross compiling to windows is just â
hold on
based honestly
Actually @spare quartz show me teensy 3.5
The other thing too is
uhhh
bb-runtimes for everything else
âTeensy 3.5 ada langâ will get 2 results
âTeensy 3.5 cppâ will get 2000000000000000000 results
I KNOW
the only people keeping ada alive is the company named after it and the GCC devs
I see no teensy in here
Or esp32 for that matter
you can just make an RTS for either with bb or adl
ewwwwwwwwwwwwww
ewwwwewewewewewew
or just like
bb-runtimes cortexm......
I have attempted to program a teensy 4.1 in rust andâŚ
The library has a lot of boilerplate
But it worked faiiirly easily
is that a bad thing?
Itâs just more verbose
It took me a while to get a motor to spin but I wasnât writing to the enable pin so thatâs 100% a skill issue
please ecosystem gods.... bless us....
now do it in verilog
apt install gcc-avr
But then I have to build the rts
also alire again
whats platformio
idot
STUPID alire give us windosw and mac cross compilers!!!!!!!!!
Itâs free
yeah but boards aren't
They can be
okay how
Idk find one
A teensy is also like $25
thats a lot of money ...
Thatâs as much as a candy bar
$25???????? A CANDY BAR??
Thatâs like 2 weeks allowance right there
yeah cause you donât do dishes or vacuum smh
i do......
ask for $25 then
fine ill ask for drain cleaner
Get a breadboard and a 5v supply while youâre at it
Custom voltage regulator
Criminal
all of my chips were destroyed just cause they were crushed in some way or another
Anyways go back to leaking memory with your ESC or whatever
i've only fried one when i miswired an internal DP -> VGA pcb
go back to being this image
So true actually
How would you even practically implement an ECS anyways
For something like idk Tartarus
Or the warhead
I can explain how I do mine in a bit if you're still on
Yes
Iâm going to sleep but I can read in the morning
maybe I'll just explain tomorrow then lol, I gotta sleep too
finals coming up (its over)
I'd prefer being a known as a game dev over being known as a minecraft mod dev
right...
trust...
rustâŚ
@timid quartz
better img
top time is Item.Time_Stamp
heres it run on guardsman.exe
huh
only spent 25 minutes on it
i skimmed over these until i have more information but i think thats good time
just needed a 5 hour warmup time..
kinda cool how these files have their original date
miko@ATProcessorMk2:~/exe$ bin/validation/exe-native -f=/mnt/c/Windows/System32/ntoskrnl.exe
1985-01-22 14:19:53
miko@ATProcessorMk2:~/exe$ bin/validation/exe-native -f=/mnt/c/Windows/System32/cmd.exe
1990-12-15 00:18:23
miko@ATProcessorMk2:~/exe$ bin/validation/exe-native -f=/mnt/c/Windows/System32/ntdll.dll
1988-05-11 11:11:15
some of them appear broken though
miko@ATProcessorMk2:~/exe$ bin/validation/exe-native -f=/mnt/c/Windows/System32/charmap.exe
2040-08-16 21:25:33
pretty cool how all of these files have their own offsets to the new PE data
@spare quartz smh youâre trying to compete with me
do I detect microsoft docs
Yes you do
Mwhahahahhaha
I think I did pretty good ao far rnâŚ
I just finished off the optional header
but honestly you'll probably complete it first
blehh
this is after the section headers
which is after the optional header
which is after the pe header
which is after the dos header
their screams fuel me
still waiting for someone to make a please datastore library
please:save() and please:get() would be golden
https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread
https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualalloc
theoretically with these two win32 api functions we can load the EXE into memory
and set the starting address to be the 'Address of a byte array or something
so what exactly are you making again?
exe reader(/loader) to compete with aeras
just cause?
yeah
fun
Thereâs only one optional header silly
yeah im only reading one
To spite me
an Indefinite_Holder is so i can hold a "null" without needing an access type
.Is_Empty for the win
Though what atp fails to realize is that I donât really care about Ada or this exe reader
So really I am the winner here :3
â
â
go back to writing guardsman in ts
I will :3
You go back to having to reinvent the wheel because thereâs no libraries to do what you want
And then having no support when you run into issues because the other Ada coders are either dead or forcefully silenced by the military
Yeah but all the code is a military secret and theyâre not allowed to share their knowledge to help
- theyâre probably still on Ada 95
mmm nope
idk what that is but I can explain how I've done buttons, switches, and linking their behavior together
just to define a few things, a world is a container for entities and their components
entities are nothing special on the user side (they are typically represented as just an entity id), they are like an oop object but without any of the data, alternatively kinda like a pointer to the data
components are essentially key-value pairs, they have a name and a specific value, like a single field in an oop object
at the very start of the game, I create an entity that represents each button and add components that describe behavior to the entity, such as how long a button stays pressed for, how to animate a press, etc..
then I write a system that adds a "Clicked" tag (tags are components without a value) to an entity whenever their ClickDetector is clicked, this clicked tag is added early in the gameloop (the systems that run), then all clicked tags are cleared from the world at the end of the gameloop - the significance of this is so that I can detect the specific frame in which something is clicked
in a system that processes buttons, I can query for entities that have both the Button component and the Clicked tag, which gives me all buttons that have been clicked in this current frame, now I can do whatever I need to animate this button
the neat thing about this kind of setup is that, the button system has no dependency on anything else, it only reads the Button and Clicked components, which means to click a button without user input (say I wanted to link 2 button presses together), I can just add the clicked tag wherever and trust that it just gets properly handled by the button system
my fault
the military intentionally put ada in gcc as the first compiler from nyu
if I distrupted this convo lol
No itâs just ATP and me arguing that the other person is more stupid
Kill
đ
Yeah donât
Interesting
@spare quartz what language do I do AoC in
i dunno what language do you like
I mean rust duh
aside from ri ust :
consoom
I simplified the client/server stuff here because some stuff is separated there, but the code in general looks like this
-- this is a system that processes clicks
-- clicks is a queue of entities that were clicked in the current frame
for id, player in clicks do
world:add(id, pr.Clicked)
end
-- button system
-- this queries for all entities that have both the Button and Clicked component, but without the ButtonDebounced component
for id, button, _ in world:view(
pr.Button,
pr.Clicked
)
:exclude(pr.ButtonDebounced) -- exclude debounced buttons
:iter() do
world:add(id, pr.ButtonPressed) -- press buttons that were clicked
world:add(id, pr.ButtonDebounced) -- debounce buttons that get pressed
world:set(id, pr.ButtonPressedTime, os.clock()) -- save time that the button was pressed, so I can unpress it later
end
Stupid car
i did try to write an ecs type system for LWJGL
what in the world is lwjgl
lightweight java game library
java đ
ATP is a Java fiend
basically a really good thick binding for OpenGL/Vulkan for any JVM lang
it's a little contrived (you have to use a little reflection) but i thought the ecs was pretty okay
writing a game in java must be like willingly cursing yourself
was it a sparse-set or archetype implementation
or neither
sparse set most likely
this was a while ago so i dont have the code on hand anymore
and surprisingly it's not that bad
there's things you have to worry about occassionally since it's super JNI heavy, but it's good everywhere else
Game pauses every 3 seconds for a GC
the java jni api in cpp is actually awful
theres a way to pass objects but I never do it because its so digusting to write
it runs pretty fine if you're not allocating like 1 terabyte every frame (minecraft.......)
instead I just make every field in an object an primitive arg
which makes it
at least liveable
yeah except doing simple vector math is like 40 allocations
because theres no operator overloads
unless you use a mutable vector api, but then that sucks for maintainability
ehhh
JOMLs pretty light on memory alloc
at least from what i've seen on my graphs
5 allocs
@spare quartz hurry up and finish your exe reader/loader
why....
wait wtf
JOML is compatible with java 1.4??????
tf đ
yeah but each math operation is a new object
because dewit
true
in a langauge where you have to use them
okay but why do you want me to hurry up......
honestly I barely even care to write tons of code nowadays
because!!!
sentenced to write a jvm in rust đ
I barely care to do much of anything 
school eating time?
I try to find like 10-15 minutes a day to work on something I enjoy
Yeah school eats time
And then when I sit down to like code or whatever
Just not a whole lot of energy to
Usually at least
do you got classes on friday
my friday this semester is free and its been really awesome
huh i've got the opposite problem
too much time, not spending enough of it on schoolwork
I wish
I donât and itâs been great
Yeah you find like 10-15 minutes each day to do your actual work 
I was meant to move off campus this year but
it didn't end up happening cause
idk I forgot something something
type Num_Missing_Assignments is
range 500 .. Integer'Last;
type GPA_Type is new Float
range 0.0 .. 2.0;
type Atp_Storages is record
Is_Cat : Boolean := True;
Missing_Assignments :
Num_Missing_Assignments := 500;
GPA : GPA_Type := 0.7;
end record;
GPA := 0.7
real lemme add that
walrus operator
at least you can't do
int myvar = 0;
if (myvar = 1) {
// ...
}
in ada
oh
beh
I mean honestly that's really only a C/C++ problem
i don't know if i wanna trust the default 'Read...
trust it
what if it reads minor first đ
skill issue
cause you're on a little endian machine
what if my code needs to run on like
powerpc big endian or something
it wont
it will
mmm nope
middle endian
đ
anyways its just like
my brain dont wanna
whats been really important for me is working on something I find fun and then stopping immediately the moment I'm not enjoying it
I took a really long break from doing luau stuff cause I just hated the platform (rblx)
im slowly getting back into it now because the language itself is fun to write
at least personally the moment I don't find myself enjoying what i work on I lose motivation for it and find it extremely hard to gain it back
linker version added
almost everything uses https://devblogs.microsoft.com/cppblog/msvc-toolset-minor-version-number-14-40-in-vs-2022-v17-10/
As we approach delivery of Visual Studio 2022 v17.9, the MSVC toolset version is 14.39. In Visual Studio 2022 version 17.10, the MSVC Toolset minor version will continue with 14.40 and continue incrementing in the â14.4xâ series. The file version and directories in Visual Studio v17.10 and subsequent installations will appear as follows: [VSInst...
except for guardsman.exe which uses v14.0
@spare quartz you finished?
?
ur lil exe reader
skinned mesh set to glass material, transparency set to 5 and disabled highlight under it?
creator didnt appear to comment, probably editablemesh
oh I have no idea what editable meshes are
basically blender but programmatic
oh interesting
allows you to create vertexes/triangles and set UVs/colors
along with editableimages they're quite powerful (but scaling up becomes a challenge cause luaus performance gets in the way)
you can do some really weird/cool things with glass transparency set to >5
it kinda inverts the refraction calculations I think
I'd expect it to be engine performance not luau perf
whats slow?
engine is probably more slower you're right
yeah, luau is fast
extremely fast
fast enough to beat out native code sometimes
I wish lua caught on instead of python
the places where it's performance is capped is stuff like, say,
if you wanna add a psuedo screenspace shader you need to raytrace... a llloooottt
because roblox doesn't expose rendering buffers
not en masse which is what you need for a shader
Maybe not for this, lol
Yea ok
roblox engineers have said they aren't gonna allow us to write anything like this more effectively anytime soon
luau "running" on the gpu would be cool though...
honestly i wish there was a version of roblox for like
scratch projects
it's a stupidly good visualization tool sometimes
lemme uhh
port over more of the optional header
and im gonna try adding loading
if you need to see the current progress its @ https://github.com/Bread-Experts-Group/exe
Yea I don't see this ever happening
how many bones are in that water 
It might be a skinned mesh too
Bones are extremely cheap to set transform to
Even cheaper than setting cframe sometimes
it's sad to see sometimes though
arent editablemeshes pretty expensive tho
because they gotta maintain their mobile support we don't get to have things like deferred decals
(which they showed off in the forums once but it was never pushed)
yeah but i'd imagine it'd be good enough for that
w gameplay
kinda excited this will be my first year doing advent of code lol
day 1 was ez
in the instructions, it says to take the distance between the numbers so instead of |x-y| I did x+y lmao
Yeah they go from âa baby could do thisâ to âthis has a novel solution in a research paper published last yearâ
thats a container
woah I get 4 gigabytes of ram and 50 gigabytes of space for free!?!?
good enough is it not
I mean it wont let me ssh into it from my pc
i have to use it from the website
lmao it says theres a incus man page and there isnt đ
by this I meant like I could game on it lol
I think I can game on this
but I cant get x forwarding for any cool games
I remember I used to hunt for free gpu plans and play some games with those
Access to this service may be revoked at any time for any reason
Access to this service is solely provided to evaluate Incus
they would probably straight up ban me if they saw me reliably using it and playing games on it
@spare quartz maybe this is a sign
are you going to write kotlin now
THE JVM IS NOT STINKY BARK BKAKTKAKRBAKKKRA
simple solution
no-op gc
:3
anyways NOT BEING PEDANTIC thats an issue of HotSpot
I bet you use Zulu JVM or something
Or Azure
IntelliGay
also: memory leak
I have Zulu JVM installed currently 
đ§
i dont see much use of any of the other jdks
mainly hotspot and intellij huh
everything is hotspot
its the reference implementation
but this is what i have installed if it means anything
openjdk
hmmm
ocaml, elixir, or kotlin..
YOU will definitely say kotlin
idk it does seem like a neat lang but it reeks of jvm copium
the repl doesn't even have up arrow support sob
@spare quartz bruh what is this https://github.com/JetBrains/amper
I dunno
Honestly
Might do that idea I had a while ago
Programming langauge
oh dewit
But making it compile for JVM bc
Actually what would be really funny is Clojure
Iâve only heard of clojure
Not something that Iâd ever use but it sounds interesting
Give lisp a try
but that one sounds weirder :<
What about Forth
ÂŻ_(ă)_/ÂŻ
pe.adb:12:14: error: missing body for "Read_COFF_Characteristics" declared at pe.ads:126
pe.adb:12:14: error: missing body for "Read_Optional_Header_Windows_Subsystem" declared at pe.ads:223
pe.adb:12:14: error: missing body for "Read_DLL_Characteristics" declared at pe.ads:260
pe.adb:12:14: error: missing body for "DLL_Characteristics_Flags_Put_Image" declared at pe.ads:267
pe.adb:12:14: error: missing body for "Read_Windows_Specific_Optional_Header_64" declared at pe.ads:297
pe.adb:12:14: error: missing body for "Read_Windows_Specific_Optional_Header_32" declared at pe.ads:310
:haha:
jk
what happened
brain no work for real programming
me wanna dev qserf
me look at todo list
me dont think can do any of it
this is me lol
did a free trial, it immediately tries to charge me 100 bucks
they used to be respectable and wait until the free trial was over lmao
I lied btw
All I did today was submit some stupid old JVM to the Roblox spotlight thing
BUT Iâm getting food soon
So maybe programming then
You have been issued a demerit.
@timid quartz @rustic vine
ignore weird crop, image I got from another server
it appears the events persist on players
interesting, thats not too surprising to me
actually, while its not surprising I feel like roblox should call destroy behind the scenes
not sure why they don't
maybe theyâre doing memoization/caching in some way with the player object behind the scenes?
youâd at least expect them to disconnect all events either way
Hello Creators! Today, weâre adding a new opt-in behavior that automatically destroys Player and Character Instances on the server when the player leaves or respawns. We will be rolling this feature out in three stages: 1. Today: PlayerCharacterDestroyBehavior is set to Default, which behaves the same as Disabled, the new behavior is now opt-...
looks like docs are outdated
looks like this is opt-in still
so I wouldn't say the docs are outdated
maybe its worth a mention of this opt-in setting in that section, though
docs are OSS so submit a pr đ
post says early â24 theyâll switch to opt-out
and mid â24 theyâll remove the option to opt out
yes
where are you seeing that
thatâs why I said the docs were outdated
average engineers
Hello everyone! We wanted to give you a quick update on New Player and Character Destroy Behavior. Background Late last year we announced New Player and Character Destroy Behavior, a change to reduce memory leaks on the server related to instances and signals connected to Player and Character instances and their children. As a quick reminder,...
ah
its opt-out
nevermind
its not opt-out
LOL
đ
it works đ
maybe typing was a mistake
i agree
chill bruh its great
the types aren't that bad
they're only bad when the typechecker is sucky
whats this
hater
defunct players and characters actually get destroyed
instead of being removed
(parent to nil, children not cleared, whatever else)
look at how AWESOME this is, this is to show how awesome types are
https://media.discordapp.net/attachments/1278332589526220873/1312991475482497094/code.png?ex=674f2ad9&is=674dd959&hm=78eb0d5dd70815ea29910cb2100b389a4b442e219c66d2135dfca3292a9aa9b8&format=webp&quality=lossless&width=957&height=604&
than a feature lol
probably a feature that got left like that until someone noticed
but can't be fixed without a rollout period because
people rely on UB
yay ub
fr
cant they just do what they did with filtering and make it so old games have to toggle it on and new ones cannot turn it off
so they dont stop working if they are abandoned
thats what it is
or well, eventually it'll be opt-out
which'll break whoever still relies on it and doesn't opt out
wait but opt-out would still break abandoned games
yes
whats abandoned
not my point
anomalous a-888
im saying how do you count abandoned
developer stopped touching it, but because nothing is broken they still work
yeah how is roblox gonna count that
ask every developer if they've stopped touching it?
by if its old or not!!!
that doesn't work
that worked with filtering enabled
filtering had the same process
it was opt in, then opt out
then opt out was completely removed
fr??
im not sure whats different from this vs. fe
I remember fe everything old worked even after the opt out was disabled
because they were still opted out, as they were untouched
in 2018 FE became the default and it was made opt out
later, opt out was removed completely
but I remember they undid it because every single game broke
this is the same rollout cycle they do for the majority of their features
idk what to say
https://roblox.fandom.com/wiki/Class:Workspace/FilteringEnabled
bruh this says fe is forced on on every game new and old
fumbling rn
the old iron man game worked after 2018 into 2019 when something else broke it đ
and the welding game still works
I cant find a link to teh welding game but its from like 2013
and wasnt updated since like 2016
and still works to my knowledge
đ¤ˇââď¸
not all games necessarily relied on non-fe behavior
it wasn't a guarantee break for everyone
wait but before fe the only way to do client <-> server was by just modifying the parts right????
not sure what you mean by that
pre-fe all changes on the client replicated to the server
yea
so yeah, not all games necessarily relied on that behavior
what other behavior was there?
and if they didn't and never got updated, they were never broken
?
changes on the server would still replicate to clients
yes
if you didn't rely on a client change replicating to the server (and thus other clients) then your game was not broken
wait what but didnt fe make it so that was impossible because that was the security issue
bro I am fumbling đ
because any change you made on client replicated to server, you could delete every part on the client and every part on the server would be deleted
fe made that impossible
so every game broke because the only way you could do client <-> server was to change something on the client that replicates immediately to the server
bruh nvm
dude idk what ur on about
me either
wait fr?
what
old games dont have filtering enabled
you're saying that you remember games that weren't updated post fe being forced still working
I responded with that not necessarily all games pre-fe relied on non-fe behavior
and if they didn't, they weren't broken
thats all i said
yea
ok so whats the confusion??
Its all in my head
insanity
the voices
sentenced to using glorified numbers as objects đ
okay
i finally know how to run exes on linux
unfortunately i dont know how to execute it
WAIT
THATS HOW JIT COMPILATION IS DONE
im so stupid
- get hot function
- iterate over instructions
- assemble
- optimize
- write machine code to memory segment
- mark as executable
- return
- push to stack
the closest i got to this in lua was essentially transpiling JVM bc -> Lua then using loadstring
but that's more of a footgun since loadstring disables luau optimizations iirc
im in the thick of it
OPTIONAL_HEADER =>
[
(MAGIC => PE_32_EXTENDED_ADDRESSING,
LINKER_VERSION => v14.40,
SIZES =>
(CODE => 2560000,
DATA =>
(INITIALIZED => 2818048,
UNINITIALIZED => 4096)),
ENTRY_POINTER => 1213760,
BASES =>
(MAGIC => PE_32_EXTENDED_ADDRESSING,
CODE => 4096),
this parts done
now moving onto windows 64/32
windows header read
and with not a lot of extra work, DLLs read in full
now to read sections
atp go to bed
no im busy
TERRY???
this is amazing
booooorinnnnng
Send.Fields.Replace ("Content-Length", Size'Image); ftw
lol
no just sending that to troll aera rn
lol
i keep having trouble with page tables
its mostly where they are in memory
well its more all were they are in memory
cuz nothings fucking aligned
im trying to access phsical memory through 4 layers of abstraction because of bootloader
at this rate im literaly just going to make bios and then uefi boot with how crazy it is being
Whatâs with the Japanese
And why are you going to eat a hamster
Mwahahahahahahha
I have an ego the size of a small planet.
My name is Linus Torvalds and I am your god.
Do you pine for the days when men were men and wrote their own device drivers?
If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.
You know you're brilliant, but maybe you'd like to understand what you did 2 weeks from now.
An infinite number of monkeys typing into GNU emacs would never make a good program.
Is "I hope you all die a painful death" too strong?
Most days I wake up thinking I'm the luckiest bastard alive.
I'm always right. This time I'm just even more right than usual.
And what's the internet without the rick-roll?
hi linux
for<'a> F: FnOnce(&'a T) -> Pin<Box<dyn Future<Output = Result<U, Box<dyn Error>>> + 'a>>
â¤ď¸
rust
Stupid !
honestly it's so bad because of async
that's what the whole Pin<Box<dyn Future<...>>> mess is about
F is a FnOnce (so a function that runs once) that has a borrowed reference to some T that lives as long as the 'a lifetime
This FnOnce returns a future that resolves to a Result<U, Box<dyn Error>> and the future also lives for lifetime 'a (the Box<dyn Error> just means that the error could be virtually any type of error)
The future is also heap-allocated and pinned to a spot in memory
@spare quartz boom :3
nah
rust way >>
we love encoding semantics directly into types
misused ă
DAMMMIITTT
I think you meant 㯠or ă
what did I say then
uhh grammatically incorrect
hold on gotta install fcitx5
so ă is a copula that can end sentences and it kinda means "be/is" so eg ăăăŻçŤă is literally "that is a cat"
so you kinda like ended a sentence and started a new one
it's like "Rust. Terrible." almost
Aaaaa
it's also used in a few other places but it depends
I see 㯠âindicates sentence topic,â buttttt I still need to learn placement
yes
oh ic
placement normally is after the noun or whatever that is the topic
so
rustăŻĺăžăă
is grammatically correct
Google translate apparently thinks Iâm calling rust awesomeâŚ.
I think theyâre biased
lmao based
ă can also be used in place of 㯠and the meaning is largely preserved
whatâs the difference
however ă normally puts more emphasis on what comes before it while 㯠puts more emphasis on what comes after
so it's the difference between
㯠-> Rust is TERRIBLE
ă -> RUST is terrible
it depends
with 㯠it's almost like you and whoever you're talking to already know what Rust is and you're stating that it's terrible
with ă you and the speaker already know something is terrible and you're emphasizing that Rust is
it's like what's known and unknown
so perhaps ă would be more appropriate if we were already on the topic of bad programming languages
it's strange and the japanese professors have said that even japanese people debate about when to use either
adaăéĽăăŤä¸ĺăăăź javascript
im not really sure what the ăăź is doing there
but the ăź is only used for katakana
tried using it to convey a delay like umm
if you want to get the same effect with hiragana you do some shenanighans
ah I c
ăă㨠is commonly used for that
im sure ăăă is fine too
thatâs what I was trying to remember
japan somehow took chinese and made it more complicated
Nah
Fym nah
Donât gotta resolve em
Yes you do
Mmm no
https://gingerbill.org/article/2024/01/22/comparing-language-benchmarks/
Most of these tests are not comparing the same thing, even the compiled ones. 32 vs 64 bit integers, different random number generators, different runtime startup costs, etc.
Ignoring even this, where are the error bars? The top 12 look nigh identical.
Quoting Ben Dicke...
Relative Virtual Address
Mmm nah
you can't just Set_Index (F, RVA)...
I agree how could you enjoy this language
cause itâs good
gay..
says the jvm user
In this diagram Iâve depicted your stupid language second to last
while Ada beats them all
actually
rust is second to first :3
Ada isn't even on the thing
yeah cause we beat all of that
we got an average of 0.42s
but the guy who made it doesnât know how to codeâŚ.
mmm still bad though ;3
LITERALLY 0TH PLACE
rust betr
I donât have any good images to send in response to that
'a:
fun parseInput(input: List<String>): Pair<List<Int>, List<Int>> {
var list1 = mutableListOf<Int>()
var list2 = mutableListOf<Int>()
val split = input.map { it.split(" ").map(String::toInt) }
for (row in split) {
list1 += row[0]
list2 += row[1]
}
return Pair(list1, list2)
}
icky
your compiler taking 5 years to do hello world:
donât use Pair(x, y)
use the infix form x to y
x to y
wtf
infix form
(def list1 (sort
(map Integer/parseInt
(map first lines))))
(def list2 (sort
(map Integer/parseInt
(map second lines))))
â¤ď¸
đ¤˘
wonder why luajit is so slow, and no cpp either, "I don't agree with the benchmark so the benchmark is wrong"
doesn't this imply a mapping though
tuples are bad instead allocate a new object with 2 fields
although isn't java supposed to (or already) get structs that can be pushed to the stack
value objects
I guess its not in yet
Aside from arrays I havenât seen that in the JVMS
but Iâm only up to code for 21
not 23⌠or whatever else theyâre adding in 24
you're getting module in
23?
or was it 24?
idk bruh
import module org.whatever.whatever
please Java gods⌠bless us by adding more annotation field typesâŚ
ah its 23

