41554 blogs · [ { "id": "01a087e7-498c-71f3-a5e6-c9d11bc9e988", "title": "The burden of hypersensitivity", "url": "https://strongly-typed-thoughts.net/blog/burnout.html", "published_at": "2026-04-21T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d11be7a007", "title": "defer and errdefer in Rust", "url": "https://strongly-typed-thoughts.net/blog/rust-defer.html", "published_at": "2025-09-23T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d11c989ecf", "title": "My Corne keyboard", "url": "https://strongly-typed-thoughts.net/blog/crkbd.html", "published_at": "2025-06-17T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d11cc2a320", "title": "Vim vs. Kakoune puzzles", "url": "https://strongly-typed-thoughts.net/blog/vim-kak-helix-puzzle.html", "published_at": "2025-05-21T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d11d2535a2", "title": "My second opinion on Zig", "url": "https://strongly-typed-thoughts.net/blog/zig-2025.html", "published_at": "2025-02-05T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d11de226ea", "title": "Introducing flirt", "url": "https://strongly-typed-thoughts.net/blog/flirt.html", "published_at": "2024-12-04T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d11eb02163", "title": "Zig, linear types and PwTP", "url": "https://strongly-typed-thoughts.net/blog/zig-linear-pwtp.html", "published_at": "2024-07-17T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d11f96f7d5", "title": "Moving away from PR/MR workflow", "url": "https://strongly-typed-thoughts.net/blog/aerc-24.html", "published_at": "2024-06-05T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d1206c0f8a", "title": "Zellij is doing too much", "url": "https://strongly-typed-thoughts.net/blog/zellij-2024.html", "published_at": "2024-04-25T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d120b3af20", "title": "The Kakoune philosophy", "url": "https://strongly-typed-thoughts.net/blog/kakoune-philosophy-2023.html", "published_at": "2023-12-23T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d121610b5f", "title": "Reflections about note-taking", "url": "https://strongly-typed-thoughts.net/blog/note-taking-2023.html", "published_at": "2023-10-12T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d1225c14ee", "title": "kak-tree-sitter v0.4 and reflections", "url": "https://strongly-typed-thoughts.net/blog/kak-tree-sitter-v0.4.0.html", "published_at": "2023-08-29T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12322d1c3", "title": "Kakoune design analysis with kak-tree-sitter", "url": "https://strongly-typed-thoughts.net/blog/kakoune-2023-v2.html", "published_at": "2023-06-09T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d1239e1ced", "title": "Even more hindsight on Vim, Helix and Kakoune", "url": "https://strongly-typed-thoughts.net/blog/kakoune-2023.html", "published_at": "2023-05-24T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d1247b946d", "title": "My thoughts about editors in 2022", "url": "https://strongly-typed-thoughts.net/blog/helix-2023.html", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d124bbff45", "title": "\"luminance redesign; Part 1: compatible vertex types\"", "url": "https://strongly-typed-thoughts.net/blog/luminance-redesign-part-1.html", "published_at": "2022-09-06T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12558d852", "title": "A Rust shading language EDSL", "url": "https://strongly-typed-thoughts.net/blog/shades-edsl.html", "published_at": "2022-07-30T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d126306cc9", "title": "Useful Hop in 2022", "url": "https://strongly-typed-thoughts.net/blog/hop-2022.html", "published_at": "2022-07-18T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d126510efe", "title": "Development Environments", "url": "https://strongly-typed-thoughts.net/blog/development-environments.html", "published_at": "2022-06-26T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d126c57458", "title": "Configuration tweaking and spare-time", "url": "https://strongly-typed-thoughts.net/blog/configuration_tweaking_spare_time.html", "published_at": "2022-06-20T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d126d7fe62", "title": "Optimizing Advent of Code 2021 Day 16 part 1 and 2", "url": "https://strongly-typed-thoughts.net/blog/aoc-21.html", "published_at": "2021-12-24T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12766b31c", "title": "Neovim plugins stability", "url": "https://strongly-typed-thoughts.net/blog/neovim-plugin-stability.html", "published_at": "2021-11-03T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12863bc67", "title": "My thoughts about editors in (early) 2021", "url": "https://strongly-typed-thoughts.net/blog/neovim-2021.html", "published_at": "2021-03-22T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12921a052", "title": "My thoughts about editors in 2020", "url": "https://strongly-typed-thoughts.net/blog/hop-trie-backtrack-filling.html", "published_at": "2021-03-15T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d129daaa60", "title": "My thoughts about editors in 2020", "url": "https://strongly-typed-thoughts.net/blog/on_editors.html", "published_at": "2020-09-07T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12a9c337e", "title": "The compile-time deinterleaving interface of luminance-0.40", "url": "https://strongly-typed-thoughts.net/blog/typesafe-deinterleaving.html", "published_at": "2020-07-19T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12b4f9ee2", "title": "The new luminance is there", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.40.html", "published_at": "2020-07-16T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12bdb8fd6", "title": "An interesting subtle property of where clauses with super traits", "url": "https://strongly-typed-thoughts.net/blog/undecidable-instances-rust.html", "published_at": "2020-05-02T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12c6b1658", "title": "Let’s talk about C++ exceptions", "url": "https://strongly-typed-thoughts.net/blog/on-cpp-exceptions.html", "published_at": "2020-02-25T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12c813d0e", "title": "Let’s talk about C++ constructors", "url": "https://strongly-typed-thoughts.net/blog/cpp-constructors.html", "published_at": "2020-02-24T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12cc5f76d", "title": "Emulating RFC 1598, less or… more?!", "url": "https://strongly-typed-thoughts.net/blog/hkt-1598.html", "published_at": "2019-11-25T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12d01b39e", "title": "My Rust 2020 ideas", "url": "https://strongly-typed-thoughts.net/blog/rust-2020.html", "published_at": "2019-10-31T00:00:00+00:00" }, { "id": "01a087e7-498c-71f3-a5e6-c9d12d1e5bf6", "title": "\"Announcement: luminance-0.31, luminance-derive and luminance-glutin\"", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.31.html", "published_at": "2019-08-29T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365c3c5e42", "title": "cargo and how crates.io doesn’t like cyclic dev-dependencies", "url": "https://strongly-typed-thoughts.net/blog/cargo-cyclic-deps.html", "published_at": "2019-08-23T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365cb00279", "title": "Animate code with awoo!", "url": "https://strongly-typed-thoughts.net/blog/introducing-awoo.html", "published_at": "2019-07-28T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365d5efaaf", "title": "On public API and private implementation", "url": "https://strongly-typed-thoughts.net/blog/traits-and-apis.html", "published_at": "2019-06-13T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365e3d433d", "title": "Pre luminance-1.0.0 and random thoughts", "url": "https://strongly-typed-thoughts.net/blog/pre-luminance-1.0.0.html", "published_at": "2019-04-26T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365f298335", "title": "splines-1.0.0 and first release candidate", "url": "https://strongly-typed-thoughts.net/blog/splines-1.0.0.html", "published_at": "2019-04-22T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365fa8bbad", "title": "\"New cargo subcommand: sync-readme\"", "url": "https://strongly-typed-thoughts.net/blog/cargo_sync_readme.html", "published_at": "2019-02-25T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365fc86d79", "title": "Universal JSON support in warmy-0.11.1", "url": "https://strongly-typed-thoughts.net/blog/warmy-universal-json.html", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e365fdb0637", "title": "Hindsight on Advent of Code 2018", "url": "https://strongly-typed-thoughts.net/blog/aoc-18.html", "published_at": "2019-01-12T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366049dcf3", "title": "A more faithful Display for proc-macro token types", "url": "https://strongly-typed-thoughts.net/blog/proc-macro-faithful-display.html", "published_at": "2018-12-01T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366121cc57", "title": "Rust traits and their (lack of) privacy", "url": "https://strongly-typed-thoughts.net/blog/rfc-private-traits-items.html", "published_at": "2018-11-27T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3661a37468", "title": "GLSL visitor pattern", "url": "https://strongly-typed-thoughts.net/blog/glsl-visitor.html", "published_at": "2018-11-22T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3661bdb15e", "title": "Introducing pest into glsl and hindsight about nom vs. pest (part 1)", "url": "https://strongly-typed-thoughts.net/blog/glsl-pest-part-1.html", "published_at": "2018-11-17T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3661facbd4", "title": "Introducing pest into glsl and hindsight about nom vs. pest (part 2)", "url": "https://strongly-typed-thoughts.net/blog/glsl-pest-part-2.html", "published_at": "2018-11-17T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3662df0add", "title": "On dealing with owning and borrowing in public interfaces", "url": "https://strongly-typed-thoughts.net/blog/on-owning-and-borrowing-pub-interface.html", "published_at": "2018-11-04T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3662ec205a", "title": "Release of glsl-quasiquote-0.2", "url": "https://strongly-typed-thoughts.net/blog/glsl-quasiquote-0.2.html", "published_at": "2018-10-22T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3663c0ccaa", "title": "Rust and features discoverability", "url": "https://strongly-typed-thoughts.net/blog/rust-doc-feature-problem.html", "published_at": "2018-10-13T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366410230f", "title": "GLSL quasiquoting in Rust!", "url": "https://strongly-typed-thoughts.net/blog/glsl-quasiquote.html", "published_at": "2018-10-05T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3664a8f180", "title": "Trying to tackle the orphans problem", "url": "https://strongly-typed-thoughts.net/blog/orphans_problem.html", "published_at": "2018-09-20T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36651c6aa8", "title": "Easy interpolation across splines", "url": "https://strongly-typed-thoughts.net/blog/interpolation-rs.html", "published_at": "2018-08-05T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366563a179", "title": "On impl blocks, injection and surjection in Rust", "url": "https://strongly-typed-thoughts.net/blog/on-rust-impl-block.html", "published_at": "2018-07-22T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3665a58ae6", "title": "The Cheddar shading language", "url": "https://strongly-typed-thoughts.net/blog/cheddar-0.1.html", "published_at": "2018-07-09T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36663606f3", "title": "\"luminance-0.27: cleanup, easier to use and examples!\"", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.27.html", "published_at": "2018-06-28T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36669e5983", "title": "Moving out of a Drop struct in Rust?", "url": "https://strongly-typed-thoughts.net/blog/rust-no-drop.html", "published_at": "2018-05-22T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366796181d", "title": "Rank-n functions in Rust?", "url": "https://strongly-typed-thoughts.net/blog/rank_n_rust.html", "published_at": "2018-05-19T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36682867c3", "title": "\"Asynchronous warmy: a prequel\"", "url": "https://strongly-typed-thoughts.net/blog/async_warmy_prequel.html", "published_at": "2018-05-08T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36684e56a3", "title": "Main differences between luminance and other famous Rust crates", "url": "https://strongly-typed-thoughts.net/blog/luminance_comparing.html", "published_at": "2018-03-28T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3668c675a7", "title": "Auto-derive uniform interfaces in luminance-0.25.5", "url": "https://strongly-typed-thoughts.net/blog/luminance_uniform_interface_macro.html", "published_at": "2018-03-01T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3669ac8f67", "title": "warmy-0.6.0; bug fixes and rewrite", "url": "https://strongly-typed-thoughts.net/blog/warmy_rewrite.html", "published_at": "2018-02-24T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366a88f5d2", "title": "Spectra gets Rust scripting!", "url": "https://strongly-typed-thoughts.net/blog/spectra_plugins.html", "published_at": "2018-02-19T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366a89e97e", "title": "State of luminance", "url": "https://strongly-typed-thoughts.net/blog/state_of_luminance.html", "published_at": "2017-09-14T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366aa5324a", "title": "Rust GLSL crate", "url": "https://strongly-typed-thoughts.net/blog/glsl_crate.html", "published_at": "2017-07-30T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366aef3ef4", "title": "On programming workflows", "url": "https://strongly-typed-thoughts.net/blog/workflow.html", "published_at": "2017-07-23T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366b88ed3c", "title": "Postmortem #1 – Revision 2017", "url": "https://strongly-typed-thoughts.net/blog/what_went_revision_2017.html", "published_at": "2017-04-20T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366c4d1d89", "title": "Lifetimes limits – self borrowing and dropchecker", "url": "https://strongly-typed-thoughts.net/blog/lifetimes_and_self_borrowing.html", "published_at": "2017-02-07T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366c74e793", "title": "luminance designs", "url": "https://strongly-typed-thoughts.net/blog/luminance_design.html", "published_at": "2016-08-28T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366d306fc2", "title": "luminance-0.6.0 sample", "url": "https://strongly-typed-thoughts.net/blog/luminance_sample.html", "published_at": "2016-07-25T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366d3f2a74", "title": "Porting a Haskell graphics framework to Rust (luminance)", "url": "https://strongly-typed-thoughts.net/blog/luminance_rust.html", "published_at": "2016-04-29T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366e1d5fe2", "title": "Pure API vs. IO-bound API for graphics frameworks", "url": "https://strongly-typed-thoughts.net/blog/pure_vs_io.html", "published_at": "2016-02-18T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366ea52c26", "title": "Existential quantification and GADT in luminance-0.8", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.8.html", "published_at": "2015-12-09T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e366f3698d9", "title": "OpenGL 3.2 support for luminance!", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.7.html", "published_at": "2015-11-12T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367008f3c9", "title": "\"luminance, episode 0.6: UBO, SSBO, Stackage\"", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.6.html", "published_at": "2015-10-25T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3670873427", "title": "luminance-0.5.1 and wavefront-0.4.0.1", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.5.1.html", "published_at": "2015-10-18T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36715d2bee", "title": "Load geometries with wavefront-0.1!", "url": "https://strongly-typed-thoughts.net/blog/wavefront-0.1.html", "published_at": "2015-10-11T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3671c35a01", "title": "luminance-0.3 – Adding more texture kinds to the equation…", "url": "https://strongly-typed-thoughts.net/blog/luminance-0.3.html", "published_at": "2015-10-06T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3671db702a", "title": "luminance first tutorial", "url": "https://strongly-typed-thoughts.net/blog/luminance_first_tutorial.html", "published_at": "2015-09-24T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3672da8d22", "title": "luminance 0.1 released!", "url": "https://strongly-typed-thoughts.net/blog/luminance_0.1.html", "published_at": "2015-09-22T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36730873b1", "title": "Thoughts about software meta-design", "url": "https://strongly-typed-thoughts.net/blog/software_meta_design.html", "published_at": "2015-09-13T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3673c4ec2a", "title": "Contravariance and luminance to add safety to uniforms", "url": "https://strongly-typed-thoughts.net/blog/luminance_uniform_contravariance.html", "published_at": "2015-08-23T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3673e4aea8", "title": "Never forget your git stashes again!", "url": "https://strongly-typed-thoughts.net/blog/reverse_prompt_git_stash.html", "published_at": "2015-08-16T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367415cdc4", "title": "Luminance – what was that alignment stuff already?", "url": "https://strongly-typed-thoughts.net/blog/luminance_32bit.html", "published_at": "2015-08-11T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3674feba1c", "title": "Luminance – Vertex Arrays", "url": "https://strongly-typed-thoughts.net/blog/luminance_vertex_arrays.html", "published_at": "2015-08-10T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36752fcc9c", "title": "Luminance – framebuffers and textures", "url": "https://strongly-typed-thoughts.net/blog/luminance_framebuffer_texture.html", "published_at": "2015-08-01T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36762b7650", "title": "Introducing Luminance, a safer OpenGL API", "url": "https://strongly-typed-thoughts.net/blog/introducing_luminance.html", "published_at": "2015-07-24T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367646b6f3", "title": "Don’t use Default", "url": "https://strongly-typed-thoughts.net/blog/default.html", "published_at": "2015-07-16T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367715855a", "title": "smoothie-0.3, Bézier curves and new user interface", "url": "https://strongly-typed-thoughts.net/blog/smoothie_bezier.html", "published_at": "2015-06-30T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36774ff7a2", "title": "Mac OS X support in al-0.1.4", "url": "https://strongly-typed-thoughts.net/blog/osx_al.html", "published_at": "2015-06-29T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367822660f", "title": "HID and MSI keyboards", "url": "https://strongly-typed-thoughts.net/blog/hid_msi_keyboards.html", "published_at": "2015-06-20T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36786f4fb3", "title": "Asset management in a real time 3D engine in Haskell", "url": "https://strongly-typed-thoughts.net/blog/resource_management.html", "published_at": "2015-06-16T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3678db083a", "title": "Losing our privacy", "url": "https://strongly-typed-thoughts.net/blog/you_are_being_spied_on.html", "published_at": "2015-04-21T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e36799bf4b3", "title": "Generalized swap", "url": "https://strongly-typed-thoughts.net/blog/generalized_swap.html", "published_at": "2015-04-14T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e3679b97a95", "title": "Volumetric light shafts", "url": "https://strongly-typed-thoughts.net/blog/volumetric_light_shafts.html", "published_at": "2015-04-08T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367a15fefb", "title": "Getting into netwire", "url": "https://strongly-typed-thoughts.net/blog/getting_into_netwire.html", "published_at": "2015-03-15T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367a3325b7", "title": "al 0.1.1.2 was shipped", "url": "https://strongly-typed-thoughts.net/blog/al_0.1.1.2.html", "published_at": "2015-03-03T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367a512e72", "title": "al 0.1.0.2 – documentation and default paths", "url": "https://strongly-typed-thoughts.net/blog/al_0.1.0.2.html", "published_at": "2015-03-01T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367b0f4cf7", "title": "al 0.1 released!", "url": "https://strongly-typed-thoughts.net/blog/al_0.1.html", "published_at": "2015-02-28T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367b869e60", "title": "Smoothie, a Haskell library for creating smooth curves", "url": "https://strongly-typed-thoughts.net/blog/smoothie.html", "published_at": "2015-02-26T00:00:00+00:00" }, { "id": "01a087e7-498d-7339-b2b0-9e367bed82ed", "title": "Why has type aliasing almost killed me", "url": "https://strongly-typed-thoughts.net/blog/type_aliasing.html", "published_at": "2015-01-07T00:00:00+00:00" } ] posts Claim your blog
Back to strongly-typed-thoughts.net
Blog · corpus.blog/blogs/strongly-typed-thoughts.net/posts

strongly-typed-thoughts.net

strongly-typed-thoughts.net

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015