Ski touring 101

(Last update: 2023-01-16) Ski touring 101 First: Don’t do it, the back country is full, no more people allowed ;) This is some notes I made after getting into ski touring over the last couple years. Mostly it started as an email attempting to convince a specific set of my friends to join me in the backcountry; their skiing and mountaineering skills vary greatly. After writing most of this I discovered Kyle McCrohan’s excellent article on the same subject.
Read more

Endurance Training

WARNING: I am absolutely no expert in endurance training, this is simply my notes mostly on Physiology from reading a few books. Take nothing you read here too seriously. When I took up cycling (roughly 2014) and was frequently being dropped on my group rides, I bought a book, Cyclist’s Training Bible (CTB1) by Joe Friel. I read most of it at the time, but never took too much of it to heart and certainly never implemented a training plan from it.
Read more

Exploring coroutines

The following is my notes from learning about the coroutine facilities added to c++ in c++20. Disclaimer: I have yet to implement anything for production using coroutines. I have, however, spent a lot of time watching talks and reading up on this stuff, and a bit of time with toy examples. Take what I’ve documented here with a handful of salt. My goal is to understand how coroutines work under the hood, not present best practices for using them.
Read more

An Interview Question

Once upon a time my favorite technical interview to conduct went something like the following. It consisted of me writing some really broken multi-threaded code and using that as a conversation starter. Candidates would drive me through discussing everything from cpu architectures, caches / cache coherency, compilers, threading, concurrency / parallelism, schedulers, and all sorts of related topics. Below is a high level sample of how a conversation might go.
Read more

What am I listening to?

Last updated 2021-03-07 I spend nearly two hours per day walking the dog. In the mornings I tend to put on NPR and in the afternoon I listen to podcasts or audio books (from the library: Libby). Below is a rough list of some of the podcasts I’ve been enjoying to lately. engineering related CppCast (recently stopped ☹️ ) Hackaday Podcast corecursive ADSP The Podcast Two’s Complement TLB hit cpp.
Read more

Home automation lists

This is an ongoing list of some projects I have found useful in our hacky home automation projects. Last updated October 2020. Connect to HomeKit/Alexa For connecting some custom hardware into HomeKit or Alexa for controlling along with our existing store bought hardware, I have found HomeBridge incredibly useful. In particular, since we use Alexa devices to control most of our home, combined with homebridge-alexa. I have an IR blaster from broadlink, to control a fan in the bedroom, which someone published a homebridge plugin.
Read more

Stay in your lane, the shifty MIPI bug

WARNING: DRAFT POST tl;dr While tossing together my last post about ThreadX and debugging the video pipeline I was reminded of other exciting debugging adventures from our camera work; this is the next in that series. Disclaimers This bug occurred roughly a decade ago, my notes from debugging it date to October 2010. I no longer have access to the hardware, the source code, documentation, or my full write up from the time.
Read more

Debugging Threading issues in ThreadX circa 2011

WARNING: DRAFT POST (alternative title: How to procrastinate on your 2020 self review by writing one form 2010) Catching up on cppcast last week, I learned that MSFT acquired ThreadX and it is now Azure-RTOS1. This brought up some old memories. Once upon a time, in a universe far far away… We built a tool for logging all the context switches occurring on a system based on ThreadX. A while back, I found a patch file containing most of the code necessary to page how we did this back into my brain.
Read more

What's this site?

Hugo Static site generator, takes markdown pages and generates site, serve from a s3 bucket wrapped with cloud front. Some notes from setting it up (mostly for myself in case I have to do this again): Markdown: https://www.markdownguide.org/tools/hugo/ S3/CloudFront instructions: https://www.davidbaumgold.com/tutorials/host-static-site-aws-s3-cloudfront/ NOTE: Had to re-generate certificate in us-east-1 (not my default) before cloudfront could find it The bucket policy was necessary or once you re-upload something it reset Deploying from Hugo: https://gohugo.
Read more

Ding Dong: How a doorbell gets made

This post was originally seen on siliconburnout. Requirements Should look relatively like a standard doorbell, when the bell is pressed both our phones get a notification and Alexa gets a notification. Non-Requirements Device is to be used inside our condo building but outside the unit, no weather sealing or theft prevention is required. Architecture The overall design is to use an ESP8266 + WiFi + AWS API Gateway + SNS. The ESP will wake up, connect to our home WiFi network, send a REST request to AWS which will turn that into a notification to our phones via a standard SMS text message.
Read more