The Curious Engineer

All blogs / Haskell

Michael Snoyman's Homepage

snoyman.com

Michael's blog post archive

HaskellRustCrypto / fintechSociety / politics / economy

Posts
157 from 1 Jan 2012 to 31 Aug 2026
Posting
now and then (3 in the last year)
Kind
personal blog
Feed
https://www.snoyman.com/rss.xml

2026 3

  1. job-watcher: Monitoring background jobs in Rust
  2. Kabbalah and Economics
  3. Kabbalah, Haskell, and the ST Monad

2025 3

  1. Who pays a tax?
  2. The Paradox of Necessary Force
  3. Incentives Determine Outcomes

2024 12

  1. A secure Bitcoin self custody strategy
  2. Normal People Shouldn't Invest
  3. Hello Nostr
  4. Steelmanning Tariffs
  5. My Path to Bitcoin
  6. Buying Bitcoin or selling dollars?
  7. Bitcoin vs Gold
  8. Personal update, upcoming blogging
  9. Let the API protect you
  10. Manual Leptos
  11. How I Stay Organized
  12. My Best and Worst Deadlock in Rust

2023 3

  1. Owned values and Futures in Rust
  2. Type Safety Doesn't Matter
  3. The Opposite of Partial Functions

2022 3

  1. Seeking new Stackage Curator
  2. Why my video calls sucked (and how I fixed it)
  3. April Fools Canceled

2021 16

  1. Babies and OSS maintenance
  2. Bitwarden encrypted backup tool
  3. if without else in Rust
  4. Stack on Slack and ARM64
  5. Haskell proposal: unified installer
  6. Haskell Foundation Board - Meeting Minutes - April 8, 2021
  7. Sockchain
  8. Haskell base proposal, part 2: unifying vector-like types
  9. Haskell base proposal: unifying vector-like types
  10. Programmer learning list
  11. Shutting down Haskellers.com?
  12. Theories of Obesity
  13. Moving to Fastmail: custom domain, family accounts, and more
  14. A parents' guide to Minecraft
  15. Securing internet communications: a layman's guide (2021)
  16. Stack Governance

2020 16

  1. Haskell: The Bad Parts, part 3
  2. The Haskell Foundation
  3. Live Coding: Rust reverse proxy
  4. Haskell: The Bad Parts, part 2
  5. Force your code to break
  6. Haskell: The Bad Parts, part 1
  7. Transparency
  8. Homeschool on PowerPoint
  9. Book review: Loserthink
  10. Stackage for Rust?
  11. New book available: Begin Rust
  12. There are no mutable parameters in Rust
  13. A Lazy Rust Compiler
  14. Basics of Carbohydrates
  15. Making nutrition decisions
  16. The Warp Executable

2019 12

  1. Down and dirty with Future - Rust Crash Course lesson 8
  2. Tokio 0.2 - Rust Crash Course lesson 9
  3. Boring Haskell Manifesto
  4. Haskell kata: withTryFileLock
  5. How to lose weight
  6. My new home network setup
  7. Gym Etiquette Test
  8. Typing Resistance
  9. Call for new Stack issue triager
  10. Shutting down haskell-lang.org
  11. Kids Coding, Part 4
  12. Mismatched global packages

2018 45

  1. FP Complete's opinion
  2. Improving Commercial Haskell
  3. Kids Coding Interlude: the function game
  4. New user empathy
  5. Async, futures, and tokio - Rust Crash Course lesson 7
  6. Proposal: Stack Code of Conduct
  7. Iterators and Errors - Rust Crash Course lesson 3 - exercise solutions
  8. Iterators and Errors - Rust Crash Course lesson 3
  9. Crates and more iterators - Rust Crash Course lesson 4 - exercise solutions
  10. Crates and more iterators - Rust Crash Course lesson 4
  11. Rule of Three - Parameters, Iterators, and Closures - Rust Crash Course lesson 5 - exercise solutions
  12. Rule of Three - Parameters, Iterators, and Closures - Rust Crash Course lesson 5
  13. Lifetimes and Slices - Rust Crash Course lesson 6 - exercise solutions
  14. Lifetimes and Slices - Rust Crash Course lesson 6
  15. Stack(age): History, philosophy, and future
  16. Why (I believe) Stackage succeeded
  17. How I research health
  18. Introducing the Rust crash course
  19. Is it healthy? Depends on context
  20. RAII is better than the bracket pattern
  21. Kick the Tires - Rust Crash Course lesson 1 - exercise solutions
  22. Kick the Tires - Rust Crash Course lesson 1
  23. Basics of Ownership - Rust Crash Course lesson 2 - exercise solutions
  24. Basics of Ownership - Rust Crash Course lesson 2
  25. Kids Coding, Part 1
  26. Kids Coding, Part 2
  27. Kids Coding, Part 3
  28. Post Fast Write-up
  29. Stop supporting older GHCs
  30. Thoughts on Fasting
  31. Deprecating the Haskell markdown library
  32. Building packages outside snapshots
  33. Guide to matrix.org and riot.im
  34. I am not snoyjerk
  35. My open source goals
  36. Stop breaking compatibility
  37. LambdaConf Haskell Hackathon 2018
  38. Quick guide to the Jewish Holidays
  39. The Conduitpocalypse
  40. Haskell Ecosystem Requests
  41. Stack Patching Policy
  42. Breaking changes, dependency trees
  43. Drop Conduit's Finalizers?
  44. Review of The Bridge strength program
  45. Slurp

2017 27

  1. Dropped packages following LTS 10
  2. Stack and Nightly breakage
  3. What Makes Haskell Unique
  4. Future proofing test suites
  5. Effective Ways to Get Help from Maintainers
  6. Posture
  7. Some Upcoming Crazy Thoughts
  8. The Spiderman Principle
  9. How to send me a pull request
  10. A Very Naive Overview of Exercise (Part 3)
  11. A Very Naive Overview of Nutrition and Exercise (Part 1)
  12. A Very Naive Overview of Nutrition (Part 2)
  13. Why I lift
  14. Playing with lens-aeson
  15. The Worst Function in Conduit
  16. Enough with Backwards Compatibility
  17. Generalizing Type Signatures
  18. Haskell Success Stories
  19. Stackage's no-revisions (experimental) field
  20. Better Exception Messages
  21. Hackage Security and Stack
  22. Conflicting Module Names
  23. Foldable.mapM_, Maybe, and recursive functions
  24. Follow up on mapM_
  25. Functors, Applicatives, and Monads
  26. safe-prelude: a thought experiment
  27. Stackage design choices: making Haskell curated package sets

2016 13

  1. Beware of readFile
  2. Call for new Stackage Curator
  3. An extra benefit of open sourcing
  4. Designing APIs for Extensibility
  5. Haskell Documentation, 2016 Update
  6. Haskell for Dummies
  7. Haskell's Missing Concurrency Basics
  8. Spreading the Gospel of Haskell
  9. New Conduit Tutorial
  10. Monads are like Lannisters
  11. Proposed conduit reskin
  12. Using AppVeyor for Haskell+Windows CI
  13. Restarting this blog

2012 4

  1. XSLT Rant Explained
  2. Open Letter to XSLT Fans
  3. Dysfunctional Programming: FindMimeFromData
  4. First Post