diff --git a/content/blog/cold-brew-at-home-2.md b/content/blog/cold-brew-at-home-2.md index 2879bb1..1025a39 100644 --- a/content/blog/cold-brew-at-home-2.md +++ b/content/blog/cold-brew-at-home-2.md @@ -12,7 +12,7 @@ title = "Cold Brew At Home" Over the past year, I've experimented extensively with cold brew at home, spending too much on equipment and gadgets. This post is a distillation of my learnings. # Equipment -I was extremely dissatisfied with the Bruer device that shows up in a lot of search results; clean-up is easy, but setting the drip rate is fussy and repeatable brew results are almost impossible. Instead, I recommend the [OXO cold brew tower](https://www.oxo.com/cold-brew-coffee-maker). $50 is not bank-breaking, and the hassle-free clean up is well worth it. +I was extremely dissatisfied with the Bruer device that shows up in a lot of search results; clean-up is easy, but setting the drip rate is fussy and repeatable brew results are almost impossible. Instead, I recommend the [OXO cold brew tower](https://www.oxo.com/cold-brew-coffee-maker). $50 is not bank-breaking, and the hassle-free clean up is well worth it. A kitchen scale is a requirement as well; I'm reasonably satisfied with [OXO's 5-pound scale](https://www.oxo.com/products/preparing/measuring/5lb-food-scale-w-pull-out-display#black), but I find myself wanting a higher precision readout when I'm mixing drinks. @@ -29,7 +29,7 @@ The number of sources, blends, roasts, etc. can be overwhelming; if you don't kn * 2 oz. water * 3 oz. cold brew concentrate -Blend ingredients together thoroughly in a blender, and serve over ice (I use [ice balls](https://www.brainvitamins.net/blog/clear-ice/)). +Blend ingredients together thoroughly in a blender, and serve over ice (I use [ice balls](/blog/clear-ice/)). The quantities might seem strange, but are designed to sum up to 12 oz. The ratios of milk and water can be tweaked to taste, but I find more than 1/2 an ounce of cream makes the drink too rich, and less than 5 oz of milk makes the drink more watery than I like. diff --git a/content/blog/cold-brew-recipes.md b/content/blog/cold-brew-recipes.md index 58b21e1..86a5bff 100644 --- a/content/blog/cold-brew-recipes.md +++ b/content/blog/cold-brew-recipes.md @@ -10,7 +10,7 @@ title = "Cold Brew Recipes" +++ -This post builds on the basic information in [my previous cold brew post](https://www.brainvitamins.net/blog/cold-brew-at-home-2/) with more recipes and preparation ideas. +This post builds on the basic information in [my previous cold brew post](/blog/cold-brew-at-home-2/) with more recipes and preparation ideas. # With Cream and Sugar * 2 oz. cold brew concentrate diff --git a/content/blog/comparing-confidence-intervals.md b/content/blog/comparing-confidence-intervals.md index 81a993b..d5fb5f6 100644 --- a/content/blog/comparing-confidence-intervals.md +++ b/content/blog/comparing-confidence-intervals.md @@ -9,7 +9,7 @@ title = "Benchmark Confidence Interval Part 2: Comparison" +++ -Benchmark data generally isn't interesting in isolation; once we have one data set, we usually gather a second set of data against which the first is compared. Reporting the second result as a percentage of the first result isn't sufficient if we're rigorous and report results with [confidence intervals](https://www.brainvitamins.net/blog/confidence-intervals-for-benchmarks/); we need a more nuanced approach. +Benchmark data generally isn't interesting in isolation; once we have one data set, we usually gather a second set of data against which the first is compared. Reporting the second result as a percentage of the first result isn't sufficient if we're rigorous and report results with [confidence intervals](/blog/confidence-intervals-for-benchmarks/); we need a more nuanced approach. Let's suppose we run a benchmark 5 times and record the results, then fix a performance bug and gather a second set of data to measure the improvement. The best intuition about performance gains is given by scores and confidence intervals that are [normalized](https://en.wikipedia.org/wiki/Normalization_(statistics)) using our baseline geomean score: diff --git a/content/blog/confidence-intervals-for-benchmarks.md b/content/blog/confidence-intervals-for-benchmarks.md index c4762fd..c966050 100644 --- a/content/blog/confidence-intervals-for-benchmarks.md +++ b/content/blog/confidence-intervals-for-benchmarks.md @@ -21,5 +21,5 @@ Normally distributed data means our 95% confidence interval will be smaller than Computing the averages of averages is not always statistically sound, so it may seem incorrect to take the average FPS from each iteration of a benchmark and average them together. In this case we can confidently say that each average has [equal weight](https://math.stackexchange.com/questions/95909/why-is-an-average-of-an-average-usually-incorrect/95912#95912); if not, we need a different benchmark! -Next: [Comparing Benchmark Results](https://www.brainvitamins.net/blog/comparing-confidence-intervals/) +Next: [Comparing Benchmark Results](/blog/comparing-confidence-intervals/) diff --git a/content/blog/proton-field-guide.md b/content/blog/proton-field-guide.md index 79a7424..773a1fc 100644 --- a/content/blog/proton-field-guide.md +++ b/content/blog/proton-field-guide.md @@ -17,7 +17,7 @@ Valve provides [beta support](https://steamcommunity.com/games/221410/announceme ![enable-steam-play](/blog/content/images/2020/10/enable-steam-play.png) -Steam downloads the Windows version of a Proton-enabled app, but still stores files in the familiar `~/.steam/steam/steamapps/common/[appname]` directory. On first launch, Proton provisions a Wine prefix (created in `~/.steam/steam/steamapps/compatdata/[appid]` by default) that holds pertinent state data and a basic Windows filesystem in `$WINEPREFIX/pfx/drive_c`. This filesystem is presented to the app as its root Windows filesystem. Save games are usually stored in the prefix as well, making save game import [complicated](https://www.brainvitamins.net/blog/mass-effect-savegame-import/). +Steam downloads the Windows version of a Proton-enabled app, but still stores files in the familiar `~/.steam/steam/steamapps/common/[appname]` directory. On first launch, Proton provisions a Wine prefix (created in `~/.steam/steam/steamapps/compatdata/[appid]` by default) that holds pertinent state data and a basic Windows filesystem in `$WINEPREFIX/pfx/drive_c`. This filesystem is presented to the app as its root Windows filesystem. Save games are usually stored in the prefix as well, making save game import [complicated](/blog/mass-effect-savegame-import/). Windows applications frequently have additional dependencies like the [Visual C++ Runtime Redistributables](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads), and apps may require specific workarounds to run well in Wine environments. Many of these concerns are managed by the app's install script (usually `~/.steam/steam/steamapps/common/[appname]/installscript.vdf`), but `~/.steam/steam/legacycompat/iscriptevaluator.exe` also runs inside the Wine environment during initial provisioning and appears to manage Proton-specific dependencies and tweaks. diff --git a/content/blog/straight-edges-part-2.md b/content/blog/straight-edges-part-2.md index 2dfaa4c..abb48e2 100644 --- a/content/blog/straight-edges-part-2.md +++ b/content/blog/straight-edges-part-2.md @@ -9,7 +9,7 @@ title = "Straight Edges Part 2" +++ -I continue to enjoy [shaving with a straigh edge razor](https://www.brainvitamins.net/blog/straight-edges/). A few additional discoveries: +I continue to enjoy [shaving with a straigh edge razor](/blog/straight-edges/). A few additional discoveries: * A sharp razor can shave arm hair without lather or discomfort. If the razor pulls on the hair or fails to cut it, it's time to sharpen the razor. * Make sure to use the sharpening tools properly (read the instructions). I tend to use too little water on my waterstone; it should be nicely soaked diff --git a/content/blog/sum-types-continued.md b/content/blog/sum-types-continued.md index a7dfd83..4093f85 100644 --- a/content/blog/sum-types-continued.md +++ b/content/blog/sum-types-continued.md @@ -11,7 +11,7 @@ title = "Sum Types, continued" +++ -Regarding [yesterday's post about sum types](https://www.brainvitamins.net/blog/sum-types-structural-vs-nominal/), co-conspirator Lao observed that the verbosity of structural sum types could be overcome by allowing structural sum types to be aliased, e.g.: +Regarding [yesterday's post about sum types](/blog/sum-types-structural-vs-nominal/), co-conspirator Lao observed that the verbosity of structural sum types could be overcome by allowing structural sum types to be aliased, e.g.: ``` sum number { int