Summary This is just a quick post on how I sintered some bronze. This may be of interest to people who are thinking of moving into metal fabrication. I’m interested in sintering as a way to 3d print metal. Bronze seems like the ideal metal to start with, for a few reasons It’s not very dangerous. The FDA allows it to be used in cosmetics It has a low sintering temperature, between 800°C & 950°C…
Summary I’ve recently made a tool to turn my smart lights on and off with an automated people counter, based on the AMG8833 , and a raspberry pi zero. For details on how I made the pi talk to the AMG8833, see the previous blog post . In this post, I’ll outline: the general approach I’ve used to build the people counter, using pytorch and python how I used onnx to embed my pytorch model into a rust…
Summary Recently, I’ve been playing around with a little 8x8 infrared camera, the AMG8833 . I’ve been running it on a raspberry pi zero, using Rust, so I thought it might be useful to share with the community: How I compiled rust code for the pi with minimal pain How to access I2C in rust to talk to embedded peripherals I learned all this stuff because I’ve been building a device to turn my lights…
Summary How to make an upside down RL. I used transform: rotateX(180deg) . This has the downside of only working in a div. But it’s still something… RL But moving on, in this post I’m going to take you through building a simple example of reinforcement using upside down RL . Upside down reinforcement learning is detailed in this report , and I found this paper to be useful in implementation. The…
Introduction In this post, I’ll be describing how I implemented a zero-truncated poisson distribution in PyMC3, as well as why I did so. What is truncation? Truncated distributions arise when some parts of a distribution are impossible to observe. For example, consider how often someone visits a store in a week. It’s natural to count people from one, and it’s hard to imagine the people who didn’t…
Code The corresponding code is on github , just run sbt run to run it. This blog post is based on the codebase tagged “post”. Background I’m heading to the burn this year. My job in the camp is to handle water logistics, both fresh water and grey water. For those who don’t know about the burning man, it’s a party in the desert, with zero infrastructure. That means you need to plan everything…
Data science as a cargo cult Data science is becoming an important competitive advantage for companies of all kinds. With the introduction of a new set practices, there’s an increased risk of “ cargo cults ” emerging within organizations. Cargo cults describe situations where people emulate a set of behaviours, without understanding their underlying motivations. When this happens with…
I’m trying a new blog format. I’m going to lay these out light science experiments in high school: hypothesis/experiment/results/discussion. We’ll see how it goes. The notebook for this project can be found here Hypothesis Introduction Wassenstein generative adversarial networks minimize the EM-distance between a generated distribution, and a true distribution: EM(P(generated data), P(actual…
For a while now, I’ve had a problem in PYMC3, where intercepts would “wander”. In this post, I explain, How to fix this problem An explanation of different ways to encode categorical values in linear models. The notebook for this project can be found here . Motivating example I built a simple model, of the form y ~ C(a) + b + 1 , and put it through pymc3. In the trace, you can see the “wandering”…
I spend so much free time on reddit. So much, that I decided what I really needed was a way to spend even more time browsing it. So, naturally, I decided to download some reddit data and try to find some new subs. In doing so, I encountered a common problem with these sorts of recommendation situations. Often, recommendations are for what everybody does, rather than being personalized for me and…