llogiq.github.io
The Case For Macros 25 October 2018 I know a few Rustaceans who are wary of macros. One privately admitted to hating them with a passion. They are right; macros can make code harder to understand (both for humans and computers, for example...
News & Blog Posts
2018-10-30
~3 min read
llogiq.github.io
Llogiq on stuff 13 September 2018 Rust is all about paying only for what you use, and gives us plenty tools to eliminate unneeded allocation. One of the tools that is used in a lot of crates (crates.io shows 98 dependent crates) is SmallVec...
News & Blog Posts
2018-09-18
~2 min read
llogiq.github.io
Rust Faster SIMD edition 06 September 2018 It’s been a while since I’ve been playing the benchmarksgame with Rust. But I recently found an interesting crate called packed_simd which had a SIMD-ified version of some benchmarks, so as Rust st...
News & Blog Posts
2018-09-11
~5 min read
llogiq.github.io
Easy `proc_macro_derive`s with `synstructure` 25 August 2018 Recently, I found myself in the market for some quickcheck. However, there were custom types, which had no Arbitrary implementation. Wondering if someone had already written a pro...
News & Blog Posts
2018-08-28
~1 min read
llogiq.github.io
Thanks For Asking! 16 August 2018 One part of my personal dedication to Rust is writing weekly “Ask easy questions here” threads on the rust subreddit. One thing that recently occurred to me is that most of the questions asked may hint at a...
News & Blog Posts
2018-08-21
~1 min read
llogiq.github.io
Some Slight Improvements 04 August 2018 Hi there! I’m back! Today I want to talk about two Rust PRs I recently wrote. The PRs in question are #52942 and #52997. Both are relatively small changes to Rust’s internally used data structures tha...
News & Blog Posts
2018-08-07
~4 min read
llogiq.github.io
Llogiq on stuff 18 May 2018 A few weeks ago, I set out to convert bytecount’s benchmarks to criterion, a statistics-driven benchmarking framework started by Jorge Aparicio and maintained by Brook Heisler. Before, bytecount used bencher for...
News & Blog Posts
2018-05-22
~2 min read
llogiq.github.io
A Shifty Riddle 11 April 2018 When I finally implemented opportunistic mutations in mutagen, everything seemed fine until my co-maintainer gnieto found a problem. Code failed to compile with the mutagen plugin, something that should never h...
News & Blog Posts
2018-04-17
~2 min read
llogiq.github.io
Under Cover 25 March 2018 Any mutation testing tool worth its salt uses coverage to restrict the number of tests to run. mutagen is no exception, of course, so once we had a test runner, we wanted to extend it with coverage-based testing. N...
News & Blog Posts
2018-03-27
~2 min read
llogiq.github.io
Pattern Boldness 13 March 2018 At the moment, mutagen only considers top-level idents in function arguments (e.g.foo(x: X, y: Y)), but function arguments are actually patterns, so we could have foo((x, y): (X, Y)) or bar(Bar { bla, bazz } :...
News & Blog Posts
2018-03-20
~2 min read
llogiq.github.io
Llogiq on stuff 15 March 2018 mutagen until recently suffered a bug that rendered both the return input and the interchange arguments mutation inapplicable. To explain, the former mutation compares each input type with the return type and a...
News & Blog Posts
2018-03-20
~3 min read
llogiq.github.io
Opportunistic Mutations 03 March 2018 As you may know, my current mutagen project deals with mutation testing in Rust. However, as I remarked, Rust’s famed flexibility leaves us little room to do mutations while keeping the type checker hap...
News & Blog Posts
2018-03-06
~4 min read
llogiq.github.io
Llogiq on stuff 14 February 2018 It’s been a while since I last suggested Mutation Testing in Rust, almost two years ago. Since then I got sidetracked a lot, and later lost interest. Just one more cool project I couldn’t afford to take on....
News & Blog Posts
2018-02-20
~2 min read
llogiq.github.io
Llogiq on stuff 09 January 2018 In the spirit of the current Rust blog post extravaganza, here are my 2¢ on the most important work to make Rust win big: Language We’re on a very good way here, what’s needed is stabilizing the things alread...
#Rust2018
2018-01-09
~2 min read
llogiq.github.io
Make Docs Into Code 20 August 2017 At clippy, we take onboarding new developers seriously. Just like documentation. And we always strive to improve our process (unless that keeps us from coding on clippy, which we love, as we wouldn’t be do...
News & Blog Posts
2017-08-22
~2 min read
llogiq.github.io
Think Local, Act Local 14 August 2017 Software projects work best when there are multiple sub-parts with lean, well-defined interfaces. No, I’m not discussing microservices here. Instead I want to outline a number of Rust features that help...
News & Blog Posts
2017-08-15
~3 min read
llogiq.github.io
Llogiq on stuff 16 June 2017 In the last months, I’ve seen a lot of evangelism around Rust, much of it apparently from the fringes of our community. Some is good and well and reflects the stance I’ve seen from the official teams. On the oth...
News & Blog Posts
2017-06-20
~2 min read
llogiq.github.io
Rust Performance Pitfalls 01 June 2017 Overall, Rust is pretty good for performance. Write the most simple, naive stuff, and it will usually run within a factor of two from optimized C/C++ code, without any further performance work on the c...
News & Blog Posts
2017-06-06
~8 min read
llogiq.github.io
Map of a Lifetime 06 March 2017 Today let’s look on a small thing. Let’s say (for the sake of simplicity, the actual algorithm comes up more often than you’d think) you want to do some contest, so you need to select any combination of two t...
News & Blog Posts
2017-03-14
~2 min read
llogiq.github.io
Llogiq on stuff 21 February 2017 When Systems Programming was conceived, programmers either toggled switches to enter code or even manually wired the systems to get the desired effect. Programmers did not know good from evil, all they knew...
News & Blog Posts
2017-02-28
~3 min read