Proof of work
Proof of Work (PoW) is a consensus mechanism in blockchain technology. It requires participants, called miners, to solve complex mathematical puzzles to validate transactions and create new blocks. The first miner to solve the puzzle broadcasts the solution, and others verify it. PoW ensures security and decentralization.
Lazy Iterators in Python
A lazy iterator in Python is often implemented using a generator expression, denoted by (…). https://www.youtube.com/watch?v=9jEvIAsYr5w A generator expression is similar to a list comprehension but produces values lazily, one at a time, as they are requested. Let’s break down the concept and create a simple example. Generator Expression Syntax: A generator expression is enclosed […]
Trait Objects and dynamic dispatch
Dynamic dispatch in Rust allows treating different types implementing a trait uniformly through trait objects like Box<dyn Trait>. It provides flexibility by resolving method calls at runtime, enabling runtime polymorphism. This is particularly useful when dealing with collections of diverse types sharing a common trait. “This works differently from defining a struct that uses a […]
Rye for Python
Rye is a “comprehensive project and package management solution for Python” – let’s check it out!Grab a cup of tea, pull up a chair and put to one side any cognitive bias you have! (Just because it’s built with Rust doesn’t mean you have to install Rust!!!). I won’t regurgitate the excellent documentation from https://rye-up.com/ […]
Dereference
In Rust, the dereference operator (*) is crucial when working with references to access the underlying values. It is especially relevant in scenarios involving borrowed data, such as when iterating over collections like arrays or vectors. When using iterators, like in a for loop, the iterator provides references to the elements, requiring the dereference operator […]
Generic Type Parameters in Rust
Introduction: Unlock the power of generics in Rust with this concise code example. Learn how to define and leverage generic types using the Query struct, which takes a flexible type parameter T. The accompanying meh function showcases the versatility of generics by accepting a Query<i32> instance. Discover the elegance and expressiveness of Rust’s generic programming […]
This should not compile?
Should this compile, my initial expectation was that it would not….. In Rust, moving a value out of a Box or any other owned container is allowed, but it doesn’t invalidate the original variable (v in this case). The variable v is still in scope, and you can continue using it. However, when you print […]