My progress has been a bit slower, but I've now finished chapter chapter 11 in the Ray-Tracer Challenge. My raytracer now has both reflection and refraction and it's possible to generate images with mirrored and transparent objects.
My progress has been a bit slower, but I've now finished chapter chapter 11 in the Ray-Tracer Challenge. My raytracer now has both reflection and refraction and it's possible to generate images with mirrored and transparent objects.
I've now finished the tenth chapter of The Ray-Tracer Challenge book from Pragmatic Programmer. This chapter implements multiple different types of patterns to apply to the objects. There are stripes, gradients, rings and a checkerboard pattern. Next up is the chapter on reflections and refractions which is very exciting.
Chapter nine of the book The Ray-Tracer Challenge introduces a new kind of shape in addition to spheres: infinite planes. These can be used as floors and walls.
Chapter 8 in The Ray-Tracing Challenge introduces calculating shadows which was not as hard as I thought it would be. Although I had to switch from f32 to f64 to get rid of artifacts.
I just finished following chapter 7 of the Ray Tracer Challenge book from Pragmatic Programmer. It is now possible to raytrace a scene with multiple objects.
Heck yeah, this thing will blow up!
Introducing Operese (a Windows-to-Linux migration tool made by a nerd):
https://yewtu.be/watch?v=PMoXClh8emw
(or YT: https://www.youtube.com/watch?v=PMoXClh8emw)
The demo is very impressive!
It apparently migrates your #Windows10 installation to #Linux #Kubuntu () with all your files ready to use.
Written in #Rust, but not yet #OpenSource (according to author will be Open Source in the near future).
We're launching the embedded-cal project: Providing access to hardware accelerated and formally proven cryptographic algorithms on #embedded systems in #RustLang. For this, I'm teaming up with @inria Paris and @cryspen, supported by the #EU funded @NGIZero.
Right now we're going through requirements. If you want to add hardware accelerated security to your #IoT project, chime in at our wishlist issue: <https://github.com/lake-rs/embedded-cal/issues/1>
RustLang question: If `From` is implemented between two types, is it possible to seamlessly convert between Vectors of those two types?
Compiler won't let me `impl from<Vec<...>>` for the two types since `Vec` isn't in my crate.
This whole thing is working around the fact that `NodeGroup` in an external crate doesn't have `Deserialize` on it, though it is generated code by `prost`...
I was inspired by @ho's post (https://nathan.ho.name/posts/dm-synthesis/) about using digital modulation schemes for sound synthesis
Here, I've turned the binary data from a block of text (lorem ipsum with strings of repeated characters thrown in) into a .WAV file in Rust. In Max/MSP, I'm incrementing through that to modulate the phase of a sine wave and simulate phase-shift keying (https://en.wikipedia.org/wiki/Phase-shift_keying)
What attracted you, when seeing the above post?
I want to know, if I have to take care about the impact of fundamental changes or can still let me drift wherever it takes me.
pw-videomix v0.4.0 - a video synthesizer / mixer
"Gamepads!"
- Added gamepad support to manipulate filter.
For interactive art installations or for visual jam sessions on the couch.
- Saving your project includes sink nodes now.
... more in the changelog
Try it out here:
https://gitlab.freedesktop.org/AdeptVeritatis/pw-videomix
(There is no binary available anymore. Upload to the package registry is now restricted to 10mb.)
#rust #rustlang #vulkan #egui #winit #opensource #freesoftware #creativecoding #art
1/2
The Rust code below is a crime against the borrow checker .
Can you rewrite it in idiomatic Rust?
Drop your fixes below!
Google open-sourced it's Cloud API Client Libraries for Rust
#rust #rustlang #programming
I'm live on YouTube
Cooking up the new release of @ratatui_rs
As much as I'm enjoying the Rust language, I doubt my brain will ever fully grok the automatic type inference mechanism. Here's a small example: https://docs.rs/tokio/1.46.1/tokio/sync/mpsc/fn.channel.html
The type 'tokio::sync::mpsc:channel' has one generic parameter which is a type, and it's the type of the objects which will be sent and received through the channel. However, in this example that type parameter is not specified but the code is completely valid. What is that type in that example?
If your answer was not "whatever type the compiler chose for the index variable 'i' in the for-loop, which has a single constraint that it must be able to hold integer values from 0 through 9 (inclusive)", then welcome to the club!
A new release of sudo-rs is out! Highlights:
- Increased backwards compatibility with older Linux kernels.
- Programs executed can be prevented from running other programs (NOEXEC)
- Other usability improvements suggested and contributed by our users!
With thanks for the support by @nlnet @ubuntu @jnsgruk @NGIZero
https://github.com/trifectatechfoundation/sudo-rs/releases/tag/v0.2.7
Found the ultimate way to focus... This TUI changed my life.
**serenIT** — Ambient sound player for your terminal.
Play sounds together, create your own scene & switch between. Supports configuration.
Written in Rust & built with @ratatui_rs
According to the last Rust Foundation newsletter @MarcoIeni has managed to bring down the Rust ecosystem's CI costs from $1M to practically nothing and, inexplicably, this is not being shouted about from the rooftops but is disseminated solely via being buried in a newsletter.
> In Q1 [...] the monetary cost of running CI has been reduced from $1M to $300K.
>
> In Q2, Marco found even more savings, [which meant that the spend on] CI has been greatly reduced–possibly to zero!
Update: check the replies for more details