Day 2/30 of Rust!
I learnt more about data types specifically in rust! It's pretty cool that defining a char is a ' while strings are " because I hate ' in js.
Ooh but I didn't get to do much! I got myself a new little macbook to get things done on the go faster!
@ShaneCelis-U04F7QE6H410Ported a rust raytracing demo for w4, a minimal wasm target, running on the sprig. Had a funny bug where all my input seemed to be going backwards. I hit right, I turn left. Turns out I was thinking high pins on sprig were button presses when actually low pins are. So the game was operating as though all the buttons were pressed all the time, but it’s just up, down, left, right, so they all canceled out. When I pressed the right button, it stopped applying the right turn code but the left turn code was still being applied so it’d turn left. It was like countersteering. @Arpan7+Learning a bit of rust with the new version of the book even tho I have my maths final on Monday
@cfanoulis0well i mean its time i posted something for the winter wonderland project heh. So I setup my raspi, setup the printer & ended up rewriting my nextjs template to... rust & handlebars. eh. At least the kiosk index page works now! (as well as the done page, not pictured)
@Arpan7+Starting to learn Rust (by building a CLI)!
@m040Since I have this week off (fall break) I'm finally learning rust, after >4 years of wanting to do so
@Andrew1i made a script called janitor that updates a bunch of stuff on my mac machine like:
• brew packages
• and so on
i made an alias so I can just type janitor in my terminal and it runs the script, it feels like a real cli to me even though its like 20 lines of bash code 😂
@HenryBass-U02KEJ8T6D80*What's Henry™ Been Up to After Assemble?*™
The question on all of your minds:
What's Henry™ Doing With His Time After Assemble™?
Ever since the groundbreaking release of his team's Assemble™ project, the world has awaited his next ship™. When asked about this, he will say:
"_I'm working on a few different projects_"
What he means to say is that he currently has 12 windows open, 5 of them Firefox™ instances, each with more tabs then can fit on the navigation bar. One of those browser windows is entirely devoted to Wikipedia™ pages that he opens, and then refuses to close until he fully reads, despite the fact that he has no interest in doing so. In another window, he has everything from Ben Eater 8-bit breadboard CPU schematics, to Rust™ documentation, to TensorFlow™ docs and a partially written auto-encoder. He also has 3 Sprig ™windows, and article on how BitTorrent™ works, and a random CVE™. There is also an article on TradeMark™ Law, that he has clearly not read. There is even the skeleton of a 6502™ Emulator™ that he may or may not finish. There's a few 3Blue™1Brown™ videos that he's stuck trying to follow. There is an article on how memory works that he does not remember if he has read.
In another window, we have 1 Gig of raw Wikipedia™ data, and a Visual™ Studio™ Code™ window with code for an GO™ algorithm he is trying to use to compress said 1 Gig of Wikipedia™ data. Beyond that he has a Logisim™ window, with a partially designed ALU™ that he is trying to work on.
Each time he makes progress on one project, he gets interested in something else and opens 100 tabs for that. He is secretly hoping for his computer to crash and wipe his computer he can reorganize. He is spending large amounts of time studying useless aspects of computer science™, and math™. It has been like this since Assemble™ ended, and will continue indefinitely. This has been What's Henry™ Been Up to After Assemble?™.
Thank you for skimming over: _What's Henry™ Been Up to After Assemble?_™
@warren0decided to work on a cool new project using two of the most based languages: go and rust
(i have never coded in rust before so i am quite happy at how well this is going)
@khalby7862Trying out Rust for the first time! After a few days of struggling with move-before-use situations and just Rust in general, I managed to have a triangle move around my screen when arrow keys are pressed. I have possibly written really bad code, but I'm just happy I managed to give a triangle wings. Would love it if y'all could give me feedback on my messy code: gist.github.com/khalby786/c4211667fd399a96ba39c0d3a1eb377b.
@ced0I think the last time I posted here neither the physics nor the sword were a thing. well. they are now!
I also wrote like a six paragraph summary in DMs with someone somewhere about what I'm doing differently this time 'round other than simply writing it in C. it's a neat overview of some of the things I've learned about making games in the past year+ since the Rust version. could probably turn that into a neat blog post at some point.
I also got the game working on mac. still looking for someone to try it on Windows to see if DirectX has the rendering bug I think it might have.
now all that's left to do for feature parity with the original version is um, I guess, physics for the sword, enemy AI, combat, then the bow and arrow, inventory ui, then quests.
I want to add cool things you can interact with in the forest like pots you can break, grass you can cut, other assorted RPG tropes.@ced0the C port is coming along nicely :) :c:
🌳 🌳 🌳
it can render the same forest, but with much better fps than the Rust version because of a handful of graphics programming tricks I've picked up since then.
similarly to @AakankshaRangdal-U02F16CHZA4's post, also made mostly with circles! (okay, nonagons, but still hehe)
actually, on that note, I've attached a picture of the original version I made in Rust:
do you prefer its circles to the nonagons? let me know by reacting with 🟢 or :stop-green: (technically an octogon, but close enough)
repo here: :githubparrot:github.com/cedric-h/rpgc
if anyone has a second and would like to try to build and test the native executable on windows, shoot me a DM.
I suspect I might have some depth sorting issues on DirectX but want to make sure. 🚧
:blender: I've also attached a picture of what the map looks like in Blender, as well as a tiny glimpse of the script I wrote to export it.
if you've played the Rust version then maybe you can guess what each line, diamond, square and circle means 😁
@matt0I made a little blinker in rust on the raspberry pi! I am using the raspberry pi HAL (hardware extraction layer) to control the GPIO pins on the pi. Next I am going to implement a crate for the Adafruit CharliePlex LED Matrix Bonnet! Here is the code if anyone is interested:
github.com/gleich/rust_rpi/blob/main/src/main.rs@ced0as I port a game I wrote a while ago in Rust to C to try and see how much smaller I can get the WASM bundle size, I've found that what has the biggest impact is the "culture" of the languages.
for example, the maps in the game I made are laid out in blender, and then exported to JSON with a custom python script I wrote using blender's API.
it's easy to add a Rust dependency to parse the JSON for you, but that bites you in the ass later; serde can inflate your compile times AND your WASM bundle size.
in C, however, package management looks different; there are single header libraries that are pretty easy to include, but using libraries isn't very C-like, and unlike Rust, C has a stable ABI.
that means that if I change my python script to dump a bunch of floats into the file as binary, I can fread those directly into a bunch of C structs. (I do have to handle endianness for integers, though)
in Rust, even if I used #[repr(C)] to force a stable ABI for those structs, I'd still have to jump through a bunch more hoops (unsafe) or pull in a dependency like bincode (which would in turn pull in serde ...).
anyway, so I quickly wrote a python metaprogram to generate a C header that can fread (or just memcpy) in all of the binary data into the fields in the game map object that the first python script pulls out of blender
@ian0Finally learning rust! Just wrote a hello world
@JinmayJhaveri0After some hardwork got folder based project query to work for github.com/Borrus-sudo/Zeus It now can filter out stuff based on whether a folder is a git,node,rust (and many more!)project. Now adding support for time based filter for it! . Edit: So if you wanna see all your node projects which have git intialized in your sea of files, the filter can help it for you. It uses a technique to find if the folder is that project or any of its direct children is one or any of its depth is one. In this way it decides whether to show or remove that directory.
@caleb1woooooooooooo i got a svelte app embedded in a Rust binary 🎉 :ferrisbongo: 🎉
(for clb.li/shorty of course)
@matt0Over the past few days I have been rewriting my first GitHub action, profile_stack , in rust from python! The action now runs 4 times faster, has some rock solid unit tests, improved documentation, a super clean codebase, and an army of crabs :ferrisbongo:! Super glad that I am finally getting comfortable with rust :) ~I am starting to see why there is a rust cult~
@matt0got my docker install of cargo-make to install the existing binary so my images don’t take 8 minutes to build!