blog | sven kanoldt

sharing thoughts on learning rust, open source projects and other tech stuff

What is the matter with `AsRef`?

the AsRef trait is everywhere in the std lib and very handy. However, the benefit using it is maybe not too obvious. But read on, and you will see some useful examples and where to apply it.

Read more ⟶

rust macro rules in practice

Rust has a very strong and typed macro system. First it sounds all overwhelming, but it's easier than you think. Let me illustrate how easy on 2 simple examples from a practical project.

Read more ⟶

super simple disk benchmark written in rust

Today I've discovered simple disk benchmark written in C and I wanted to give a very minimal version of it a try in rust. Let's explore the new crate and command line tool ssd-benchmark and discover how simple it actually is to benchmark a disk.

Read more ⟶

lifetimes made easy

Rust lifetimes have the reputation to be very complicated, hard to use and even harder to understand. With this little article the entry barrier should be lowered and clarity should shine among the curious reader.

Read more ⟶

little rust starter hint series: polymorphism and traits

Rust is not an OOP language, but there are still ways to implement polymorphism and interfaces in rust. Here we going to explore how traits can be used to introduce interface semantics in Rust on a little hexdump tool.

Read more ⟶

little rust starter hint series: tests and tdd

Rust has a very easy way to test your code. Here you will learn the very basics how to start to solve a problem in a test driven style in rust.

Read more ⟶

little rust starter hint series: modules and imports

Rust 2018 modules and imports can be a little confusing at first, with this little overview the entry barrier should be lowered and clarity should be given.

Read more ⟶

rethink nested loops in javascript functional

For-i loops are somewhat out, so let's rethink nested and specifically correlated loops in a functional style in Javascript.

Read more ⟶

prepare a dart package for publishing in 5minutes

When publishing, having tests, coverage data, code formatting and builds are good practice to have, so that your package looks nice and shiny and is robust for change and contributions. Here we explore how such things can be easily achieved for a dart package.

Read more ⟶

profiling in php

Finding bottle necks in PHP Code is way easier than you think, no microtime or even third party tools are required to get a proper profiling and insights about your code performance, just read on.

Read more ⟶

dart io - streaming strings in a nutshell

Dart has a sophisticated IO Stream / Events API that is not so easy to grasp from their documentation, here I want to illustrate how to use it the right way on a super simple String IO example.

Read more ⟶