By Andre Bogus :
Why Rust? I have a GC! — Llogiq on stuff | llogiq.github.io
My $dayjob is working in the cozy realms of Java, coddled by a GC and the amenities of a fat runtime. Common wisdom is to use a GC if you can afford it. I sometimes even write python if performance is a non-issue. Why would I then long for Rust every now and then?
more...
Article Andre Bogus Rust Jan 11, 2020 1  
Should Clippy Care From Whence They Came? — Llogiq on stuff | llogiq.github.io
2019 was a great year for clippy. It’s available on stable, even installed by default in the Rust distribution and selectable as a rustup component. We have more than 300 lints, and the upwards trend is unbroken. The lints that we have also see a steady stream of improvements.
more...
Article Andre Bogus Rust Jan 02, 2020 1  
My Coding Impediment — Llogiq on stuff | llogiq.github.io
My Coding Impediment — Llogiq on stuff
more...
Article Andre Bogus Rust Dec 24, 2019 1  
An Apology — Llogiq on stuff | llogiq.github.io
An Apology — Llogiq on stuff
more...
Article Andre Bogus Rust Nov 05, 2019 1  
Rust 2020 – More Or Less — Llogiq on stuff | llogiq.github.io
The Rust team asked for 2020 roadmap blog posts, so here goes: Let’s do more of what we’ve been doing so far. More fixes, more optimizations. More research on what interesting effects we can create by combining existing language features. More (and more diverse) teams. More doc improvements. More blogs showing off cool things. More help for project maintainers and contributors. More review. More mentors. More meetups. More books. More async. More target platforms. More stabilizations. More completing unfinished features. More accessibility. More crates. More jobs. More Rustaceans!
more...
Article Andre Bogus Rust Oct 30, 2019 1  
Making Good On Momo's Compile-Time Promise — Llogiq on stuff | llogiq.github.io
When I announced momo, I wanted its users to save both binary size and compile time while keeping their code simple. I succeeded in the first goal, but failed regarding the second. The reason was that momo requires syn and quote which (unless you have other proc macros in your dependencies) add their own compile time to yours.
more...
Article Andre Bogus Rust Oct 28, 2019 1  
Towards Overflower 1.0 — Llogiq on stuff | llogiq.github.io
Towards Overflower 1.0 — Llogiq on stuff
more...
Article Andre Bogus Rust Oct 23, 2019 1  
Causal Profiling Rust Code — Llogiq on stuff | llogiq.github.io
There’s a new hotness in performance measurements, and it’s called causal profiling. The idea behind it is that you want to measure how a speed up of a certain function would impact the runtime as a whole, which can be very counterintuitive in today’s multi-threaded world.
more...
Article Andre Bogus Rust Sep 25, 2019 1  
Minimum Safe Abstractions — Llogiq on stuff | llogiq.github.io
Minimum Safe Abstractions — Llogiq on stuff
more...
Article Andre Bogus Rust Aug 01, 2019 1  
Rust, A Game Review — Llogiq on stuff | llogiq.github.io
Disclaimer: As a mod of /r/rust, I see a lot posts and comments confusing the game with the programming language. So I decided to write this humorous take.
more...
Article Andre Bogus Rust Jun 07, 2019 1  
Momo · Get Back Some Compile Time From Monomorphization — Llogiq on stuff | llogiq.github.io
Monomorphization has one problem (apart from being a ridiculous word that I’ll probably spell wrong every time): It generates rather a lot of code, bloating binary size and potentially pessimizing execution cache usage. Often, generics aren’t really needed for speed, but for ergonomics: Library code might want to present an easy-to-use generic interface that will automate some conversions. However, this often means that almost each user gets their own version of the code, leading to the aforementioned bloat (case in point: Earlier clap versions were notorious for adding hundreds of kilobytes to the binary size – for a simple command line parser).
more...
Article Andre Bogus Rust May 18, 2019 1  
Design Space Map — Llogiq on stuff | llogiq.github.io
The Rust community currently appears to reconfigure its design process. There is some discussion around RFCs. A topic that comes up is shared summaries. I think this is a great idea and want to share my 2¢ here.
more...
Article Andre Bogus Rust Apr 23, 2019 1  
Arenas vs. Indices — Llogiq on stuff | llogiq.github.io
When optimizing code, one thing I’m always looking for is memory layout and access patterns. One such pattern is an arena: Reserve some sufficiently large space to put your objects in, then allocate by incrementing a pointer. If your objects are of a uniform type, you can basically simplify this to a Vec of that type.
more...
Article Andre Bogus Rust Apr 06, 2019 1  
Arraigning a Statement, vol. 2 — Llogiq on stuff | llogiq.github.io
Last time we defined a minimum viable implementation for mutagen statement removal: Remove only function call statements whose results are not returned from the surrounding block and whose AST do not contain any Assign expressions.
more...
Article Andre Bogus Rust Mar 14, 2019 1  
Arraigning a Statement, vol. 1 — Llogiq on stuff | llogiq.github.io
This time in our “Mutating Rust” series, we want to tackle the most complex mutation so far: Statement removal. Now why do I think this is complex? It’s just removing the statement (or, as we bake our mutations into the code, activating at runtime, putting it behind an if), right?
more...
Article Andre Bogus Rust Mar 11, 2019 1  
Tooling, Tooling, Tooling — Llogiq on stuff | llogiq.github.io
Tooling, Tooling, Tooling — Llogiq on stuff
more...
Article Andre Bogus Rust Feb 27, 2019 1  
Positive-Sum Games — Llogiq on stuff | llogiq.github.io
Positive-Sum Games — Llogiq on stuff
more...
Article Andre Bogus Rust Dec 11, 2018 1  
Rust 2019 -- The Road Ahead — Llogiq on stuff | llogiq.github.io
Rust 2019 -- The Road Ahead — Llogiq on stuff
more...
Article Andre Bogus Rust Dec 08, 2018 1  
proc_macro_attribute Revisited — Llogiq on stuff | llogiq.github.io
Recently, the procedural macro interface was somewhat stabilized. OK, there’s still the unstable proc_macro_hygiene feature you have to activate, but at least the registrar and rustc_private are no longer needed.
more...
Article Andre Bogus Rust Nov 10, 2018 1  
The Case For Macros — Llogiq on stuff | llogiq.github.io
The Case For Macros — Llogiq on stuff
more...
Article Andre Bogus Rust Oct 25, 2018 1  
More Space For Cargo — Llogiq on stuff | llogiq.github.io
More Space For Cargo — Llogiq on stuff
more...
Article Andre Bogus Rust Oct 17, 2018 1  
Footguns in SIMD land — Llogiq on stuff | llogiq.github.io
Footguns in SIMD land — Llogiq on stuff
more...
Article Andre Bogus Rust Sep 19, 2018 1  
Measuring SmallVec Footprint with Smallvectune — Llogiq on stuff | llogiq.github.io
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. It is also used in the Rust compiler. I recently got around to speed up the operation of getting a SmallVec from a slice of copyable data. In short, they’re awesome.
more...
Article Andre Bogus Rust Sep 13, 2018 1  
Rust Faster SIMD edition — Llogiq on stuff | llogiq.github.io
Rust Faster SIMD edition — Llogiq on stuff
more...
Article Andre Bogus Rust Sep 06, 2018 1  
Easy `proc_macro_derive`s with `synstructure` — Llogiq on stuff | llogiq.github.io
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 procedural macro to derive it, I found panicbit’s quickcheck_derive crate. However, to my dismay, it was severely limited in that it could only derive Arbitrary for structs.
more...
Article Andre Bogus Rust Aug 25, 2018 1  
Thanks For Asking! | llogiq.github.io
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 deficiency in documentation and teaching material. We are, as far as I know, not using this resource for now.Thanks For Asking! — Llogiq on stuff
more...
Article Andre Bogus Rust Aug 16, 2018 1  
Ideas for Rust Meetups — Llogiq on stuff | llogiq.github.io
Since I’m co-organizing the Rhein-Main Rust meetup (and am probably the main driving force behind it), I thought, it might be useful to share a few ideas we have that we have either already done, or plan doing – perhaps other meetup organizers can benefit from this. Note that our meetups usually run 2-4 hours, but some attendees may have to join late or leave early so the format has to take this into account.
more...
Article Andre Bogus Rust Aug 08, 2018 1  
Some Slight Improvements — Llogiq on stuff | llogiq.github.io
Some Slight Improvements — Llogiq on stuff
more...
Article Andre Bogus Rust Aug 04, 2018 1  
A Self-ish Bug — Llogiq on stuff | llogiq.github.io
A Self-ish Bug — Llogiq on stuff
more...
Article Andre Bogus Rust Jun 28, 2018 1  
An Inopportune Consumption | llogiq.github.io
An Inopportune Consumption — Llogiq on stuff
more...
Article Andre Bogus Rust May 30, 2018 1  
Porting Rust Benchmarks To Criterion | llogiq.github.io
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.
more...
Article Andre Bogus Rust May 18, 2018 1  
My Rust Story — Llogiq on stuff | llogiq.github.io
The #rustreach project is apparently asking people how they got into Rust, and though I wasn’t asked in person, I thought it may be useful to write down my personal Rust story. Here goes nothing.
more...
Article Andre Bogus Rust May 15, 2018 1  
Mutagen – More opportunities — Llogiq on stuff | llogiq.github.io
Recently I gave a talk at our Rust Meetup about mutagen, and I also showed how our opportunistic mutations work (I however left out that gnarly thing about shifts, but in my defense I was short on time). That got me thinking whether we always do the right thing elsewhere.
more...
Article Andre Bogus Rust May 01, 2018 1  
Trust | llogiq.github.io
I recently found the time to reflect on the factors that allows us to grow – both as software developers and as persons. The one factor I want to concentrate today is trust. First, why is trust important for growth? It is because growth only happens when you are out of your comfort zone, doing stuff that you’ve never done before. In such a situation, you will be dealing with uncertainty. Uncertainty without trust begets fear, and fear paralyzes.
more...
Article Andre Bogus Rust Apr 19, 2018 1  
A Shifty Riddle — Llogiq on stuff | llogiq.github.io
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 happen as long as the code in question compiles without the plugin. We not only broke the code – we broke the build.
more...
Article Andre Bogus Rust Apr 11, 2018 1  
Corner Cutting vs. Productivity — Llogiq on stuff | llogiq.github.io
Corner Cutting vs. Productivity — Llogiq on stuff
more...
Article Andre Bogus Rust Apr 03, 2018 1  
Under Cover — Llogiq on stuff | llogiq.github.io
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.
more...
Article Andre Bogus Rust Mar 25, 2018 1  
Deciding if two types are equal — Llogiq on stuff | llogiq.github.io
mutagen until recently suffered a bug that rendered both the return input and the interchange arguments mutation inapplicable.
more...
Article Andre Bogus Rust Mar 15, 2018 1  
Pattern Boldness — Llogiq on stuff | llogiq.github.io
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 } : Bar). For now, this means we have no type information for either of those examples.
more...
Article Andre Bogus Rust Mar 13, 2018 1  
Opportunistic Mutations | llogiq.github.io
Opportunistic Mutations — Llogiq on stuff
more...
Article Andre Bogus Rust Mar 03, 2018 1  
HP Chromebook 13 G1 Review – A Year Later — Llogiq on stuff | llogiq.github.io
HP Chromebook 13 G1 Review – A Year Later — Llogiq on stuff
more...
Article Andre Bogus Rust Mar 02, 2018 1  
Mutation Testing Rust in Earnest — Llogiq on stuff | llogiq.github.io
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. But as things go, my interest in mutation testing was rekindled, and I decided to give it a shot and do more than blogging about it.
more...
Article Andre Bogus Rust Feb 14, 2018 1  

Featured Contributors