markkarpov.com 15. 9. 2022How to keep a Bazel project hermetic? – markkarpov.com 1. 5. 2022Why paint? – markkarpov.com 19. 4. 2022TPS evaluation for Tezos – markkarpov.com 22. 11. 2021On the importance of having vision – markkarpov.com 14. 10. 2021Evolution of my watercolor palette – markkarpov.com 26. 9. 2021Notes on watercolor equipment – markkarpov.com 21. 5. 2021Simulating Tenderbake – markkarpov.com 23. 4. 2021Ormolu internship – markkarpov.com 24. 7. 2020GitHub actions for Haskell CI – markkarpov.com 8. 7. 2020Setting up Buildkite for Nix-based projects using Terraform and GCP – markkarpov.com 1. 6. 2020Existential quantification – markkarpov.com 30. 5. 2020The story with data-default – markkarpov.com 24. 4. 2020Canon EOS R settings I use – markkarpov.com 9. 4. 2020Setting up a shared build cache using Bazel – markkarpov.com 3. 1. 2020Struggling to forget – markkarpov.com 2. 1. 2020Exposure without giving up artistic control – markkarpov.com 11. 12. 2019Haskell vs OCaml – markkarpov.com 4. 12. 2019Digital photography workflow for Linux – markkarpov.com 23. 11. 2019Lisp and Haskell – markkarpov.com 7. 11. 2019Megaparsec 8 – markkarpov.com 11. 10. 2019Ormolu: announcing first release – markkarpov.com 29. 9. 2019What does a humped critter have to teach us? – markkarpov.com 6. 9. 2019Why Haskell is important – markkarpov.com 27. 5. 2019Ormolu: format Haskell code like never before – markkarpov.com 16. 4. 2019The monads of Haskell – markkarpov.com 13. 2. 2019The types got you – markkarpov.com 27. 8. 2018Megaparsec 7 – markkarpov.com 16. 6. 2018Smart constructors that cannot fail – markkarpov.com 13. 5. 2018Announcing GHC syntax highlighter – markkarpov.com 17. 4. 2018Stackage HEAD is now live! – markkarpov.com 28. 2. 2018Bazel now supports building Haskell – markkarpov.com 14. 2. 2018MMark status update – markkarpov.com 25. 1. 2018Free monad considered harmful – markkarpov.com 2. 12. 2017Req 1.0.0, HTTP client, and streaming – markkarpov.com 17. 11. 2017Announcing MMark – markkarpov.com 30. 10. 2017Short ByteString and Text – markkarpov.com 13. 8. 2017Announcing Hasky Stack – markkarpov.com 26. 7. 2017Evolution of error messages – markkarpov.com 6. 7. 2017A major upgrade to Megaparsec: more speed, more power – markkarpov.com 16. 6. 2017Path 0.6.0 released – markkarpov.com 13. 6. 2017Migrating text metrics to pure Haskell – markkarpov.com 7. 6. 2017Working with text without pain – markkarpov.com 6. 6. 2017Putting together a form validation library – markkarpov.com 6. 6. 2017New site – markkarpov.com 1. 6. 2017The true power of Dvorak – markkarpov.com 1. 6. 2017The Identicon package – markkarpov.com 1. 6. 2017Megaparsec 4 and 5 – markkarpov.com 1. 6. 2017Latest additions to Megaparsec – markkarpov.com 1. 6. 2017Category Theory Basics, Part I – markkarpov.com 1. 6. 2017Announcing Megaparsec 5 – markkarpov.com 29. 3. 2017Hapistrano's new features – markkarpov.com 2. 8. 2016Concurrent Haskell in the real world – markkarpov.com 29. 6. 2016Cassava Megaparsec library released – markkarpov.com
15. 9. 2022How to keep a Bazel project hermetic? – markkarpov.com 1. 5. 2022Why paint? – markkarpov.com 19. 4. 2022TPS evaluation for Tezos – markkarpov.com 22. 11. 2021On the importance of having vision – markkarpov.com 14. 10. 2021Evolution of my watercolor palette – markkarpov.com 26. 9. 2021Notes on watercolor equipment – markkarpov.com 21. 5. 2021Simulating Tenderbake – markkarpov.com 23. 4. 2021Ormolu internship – markkarpov.com 24. 7. 2020GitHub actions for Haskell CI – markkarpov.com 8. 7. 2020Setting up Buildkite for Nix-based projects using Terraform and GCP – markkarpov.com 1. 6. 2020Existential quantification – markkarpov.com 30. 5. 2020The story with data-default – markkarpov.com 24. 4. 2020Canon EOS R settings I use – markkarpov.com 9. 4. 2020Setting up a shared build cache using Bazel – markkarpov.com 3. 1. 2020Struggling to forget – markkarpov.com 2. 1. 2020Exposure without giving up artistic control – markkarpov.com 11. 12. 2019Haskell vs OCaml – markkarpov.com 4. 12. 2019Digital photography workflow for Linux – markkarpov.com 23. 11. 2019Lisp and Haskell – markkarpov.com 7. 11. 2019Megaparsec 8 – markkarpov.com 11. 10. 2019Ormolu: announcing first release – markkarpov.com 29. 9. 2019What does a humped critter have to teach us? – markkarpov.com 6. 9. 2019Why Haskell is important – markkarpov.com 27. 5. 2019Ormolu: format Haskell code like never before – markkarpov.com 16. 4. 2019The monads of Haskell – markkarpov.com 13. 2. 2019The types got you – markkarpov.com 27. 8. 2018Megaparsec 7 – markkarpov.com 16. 6. 2018Smart constructors that cannot fail – markkarpov.com 13. 5. 2018Announcing GHC syntax highlighter – markkarpov.com 17. 4. 2018Stackage HEAD is now live! – markkarpov.com 28. 2. 2018Bazel now supports building Haskell – markkarpov.com 14. 2. 2018MMark status update – markkarpov.com 25. 1. 2018Free monad considered harmful – markkarpov.com 2. 12. 2017Req 1.0.0, HTTP client, and streaming – markkarpov.com 17. 11. 2017Announcing MMark – markkarpov.com 30. 10. 2017Short ByteString and Text – markkarpov.com 13. 8. 2017Announcing Hasky Stack – markkarpov.com 26. 7. 2017Evolution of error messages – markkarpov.com 6. 7. 2017A major upgrade to Megaparsec: more speed, more power – markkarpov.com 16. 6. 2017Path 0.6.0 released – markkarpov.com 13. 6. 2017Migrating text metrics to pure Haskell – markkarpov.com 7. 6. 2017Working with text without pain – markkarpov.com 6. 6. 2017Putting together a form validation library – markkarpov.com 6. 6. 2017New site – markkarpov.com 1. 6. 2017The true power of Dvorak – markkarpov.com 1. 6. 2017The Identicon package – markkarpov.com 1. 6. 2017Megaparsec 4 and 5 – markkarpov.com 1. 6. 2017Latest additions to Megaparsec – markkarpov.com 1. 6. 2017Category Theory Basics, Part I – markkarpov.com 1. 6. 2017Announcing Megaparsec 5 – markkarpov.com 29. 3. 2017Hapistrano's new features – markkarpov.com 2. 8. 2016Concurrent Haskell in the real world – markkarpov.com 29. 6. 2016Cassava Megaparsec library released – markkarpov.com