RSSAmplifier

Blog

David Anekstein's blog

David Anekstein's blog posts

anekstein.comRSS feed ↗7 posts

Latest posts

Solving Soma

Years ago in New York City’s Bryant park I came across a pop up store that sold puzzles, one of which was this wooden cube. I didn’t know what it was back then, but simplicity of the puzzle and the feel of the wooden blocks was attractive to me and so I bought it. ↻ Hold and drag a piece, spread to explode For the last decade or so it’s been on my desk. Occasionally I take it apart and challenge…

Matrix Profiles

Lately I’ve been thinking about time series analysis to aid in Reflect’s insights features. Towards this end, I’ve had a Hacker News thread about anomaly detection bookmarked in Later . I finally got to looking at it and there was a comment that mentioned the article left out matrix profiles , which I had never heard of, so I decided to look into them. Matrix Profiles Here is an example time…

Exploring Dataflow Analysis in the Rust Compiler

Recently I’ve been working in static analysis land and as a part of that have been familiarizing myself with data flow analysis. I look at a fair amount of MIR and so decided to delve into the rustc_mir_dataflow crate to see how these things are handled in the rust compiler. There is a helpful introduction to this topic in the rustc dev guide , and this post fleshes things out a bit. Dataflow…

Generic Recursion Applied to Algebraic Graphs

It would be such a shame if I couldn’t combine Rust, recursion schemes, and graphs into one blog post (with the added bonus of leaving out C++). So here we go! Just recently, two articles have surfaced describing generic recursion in Rust. I recommend reading them. There will likely be further posts in the series, but I didn’t want to wait to at least try out the basics of the recursion crate.…

Discovering I've Shot Myself in the Foot with std::async

I was recently looking into implementing some speculative execution functionality using std::async ; based on some seed data, the goal was to asynchronously run a compute-intensive calculation where the result may or may not be needed at a later time. When new seed data became available, it was an indication that any in-progress computation should be terminated early and that its result be…

Tensor Chain Contraction with Refolds

You can find the source code for this post here . In a previous post we utilized recursion schemes in prototyping a genetic algorithms library. I wanted to look more into their use cases and was happy to discover that they could even be leveraged for dynamic programming. Matrix Chain Multiplication One of my favorite applications of dynamic programming is matrix chain multiplication; given a bunch…

Prototyping a Small Genetic Algorithms Library in Haskell

This post assumes a basic understanding of genetic algorithms and the terminology associated with them, as well as a cursory understanding of recursion schemes; resources for both may be found scattered within the post. All source code can be found here . First blog post – yay! This post documents some of my experience getting practice with recursion schemes and some monadic computations in the…