OpenPose software detects bodies in video. It runs best on GPU hardware, including on servers. An easy way to set that up is with Google’s Compute Platform, which is a metered cloud platform that can be configured with GPU hardware. There’s a couple of tricks to know, but it does give significant speed-ups over non-GPU hardware.
I’ve been running simulations that rely on random numbers, and I’m chasing two desirable properties. First, if I run the same code with the same arguments, I want the same results (whenever possible). And I want interrupted runs to pick up from where they left off. Repeatable and resumable code. These are my notes on the progress I’ve made, using the Rust programming language.
The other day I was asked to recommend resources for learning the Rust programming language. Here’s what I came up with.
Emergent engineering is how you tackle complex systems. It’s for when the perfectly reasonable standard engineering approach doesn’t work any more. When fault-free and predictable isn’t getting you anywhere.
“The act and experience of programming is, at its heart, a fundamentally human activity […] When considering programming, therefore, it would be a glaring omission to not involve people who specialize in studying artifacts and the human activity that yields them: archaeologists.”
You know the routine for porting from Scala 2.12 to 2.13: you’ll get a bunch of compiler errors and warnings, and you can quickly enough hack your way through them.
There is, though, one runtime issue I’ve bumped into. When pattern matching on
Seq from a library, you need to be careful about what kind of a
Seq you’ve been handed.
I’m accumulating notes on the principles in Rust. These are the things I want to keep in easy reach to refresh my understanding.
1R (“one rule”) is a rule learning algorithm that first appeared in 1993. It’s a baseline algorithm: if you can’t do as well as this, you need to think again. This post describes my implementation in Rust. For me, implementing an algorithm is a fun way to improve my knowledge of a language and ecosystem.
What are the causes of ageing? Is it the accumulation of damage, or over-running healthy development? The latter is addressed on Aging is not programmed: Genetic pseudo-program is a shadow of developmental growth, and these are my notes on that paper.
I’ve been learning about biological ageing over the last few months for a project. There’s so much to take in just on the basics, let alone the new research coming out. To help myself make sense of it, I’ve decided to write up my notes on various papers, starting with The Hallmarks of Aging.
I’ve been flummoxed by some basic statistics questions recently. I’m not alone in this, as it’s a common one for students and 17th-century gamblers. I’m taking this chance to note this down for when I make the same mistakes again.
Rust, Scala, and many other languages let you use a kind of or to represent errors.
In Scala it might be
Either<E, T>, and in Rust it’s likely to be
E represents an error, and the awkward part of this is chaining together results with different types for
This post contains my notes on this, for Rust.