Skip to content

Instantly share code, notes, and snippets.

@oconnor663
oconnor663 / space_age_production.bp
Last active August 26, 2025 07:40
Space Age Production
0eNrMvU9vJEmS5flVCnHYk3Ng+l+1gLl0o2dOCyymT4tCosCMZGYSzWDEkIzKqS3Ud183cwbdPMKV9n5iZo0+uZtH8JmYmIqKqugTkX98+Pnh692Xp/vHl7/+/Pnzf3z48z/Ovzx/+PNfZpfjv91//Px4+vn5/rfH24fxt8fbT3cf/vzh7uHu48vT/cebT/eP94+/3fzydP/w8OGfhw/3j7/c/Z8Pf3b//Onw4e7x5f7l/u4EMV38/a+PXz/9fPd0/A+H96EOH758fj7+9efH8a5HxJD/Wzp8+PuHP9+04b+l451+uX86/uH0H+I/Dz/cwL/d4OXp9vH5y+enl5uf7x5eriDXPnK9ghyo6HHo38D5K3eIBtlrVWRPFuSmIGf7C61FeaHl7Qaf7n65//rp5u0+Xz4/3L37AMc7/fMKYn1D/HoctU+/PX0+fi6r4wdpjzgvf/8y4tw/fvn68uHKrZp9zPx4v6tjxg0rXkBUXoBzNn3Fvr4+f33pKMz5FRqLmsaCxRi8YgzOZMHhR+jjLHr/cvfpiHOemQ8fHm6PWMff/u/7x7un5+MPfzt+TH+Rsm+xtVRCCrH484Q8jFKqs/vzy+fHu5tfvz493n68s83q94/Pd08vx99+fGD37YGT9p48A00SKHj3w4W866br4ULMdyfoy5fwI1R4Bcr/fHc2fkdnEb6IwkC1F1F15aW+vPXdORcgJ8m8B0UTuS/uwvQqgSYJVDKeBkEDA9UeP8ojv7438p2+xImL1uiyBawzTTi8gjlPar4DWS1TTw+sWcDCdTA/4IksXsVxFiuWnLT3FuggQQf6qvPS2/HcPq4r1GQfvbdsso/eExbm6LW9lK8M1WmoJlsZrj94GCxgrgPmsOH5qzierPZT/60Iu6MQ2MpCe0chMlRtPIVkmTWcFFjIbAUgxUFCYaBOAq1sBaCBNgYqPX4c8LR51Ryis8x0HRuN3gLWmT2iZSsTawfMspeJrQOWyBQSLmS7fLFCwCBmPO8NV4UupnnvPaG7816
@quad
quad / 0-modular-errors-with-rusts-thiserror.md
Last active July 10, 2025 13:25
Modular Errors with Rust's thiserror

I've been writing Rust full-time with a small team for over a year now. Throughout, I've lamented the lack of clear best practices around defining error types. One day, I'd love to write up my journey and enumerate the various strategies I've both seen and tried. Today is not that day.

Today, I want to reply to a blog post that almost perfectly summarised my current practice.

Go read it; I'll wait!


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
@oconnor663
oconnor663 / .Krastorio 2 Blueprints
Created October 18, 2021 05:31
Krastorio 2 blueprints
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