← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 44
  1. As noted in my last post, I recently released ppad-fixed, a high-performance fixed-width word library meant for use in cryptographic applications.

  2. I’ve just released a new version of ppad-secp256k1 that supports dramatically faster Schnorr and ECDSA signature schemes, powered by faster elliptic curve arithmetic under the hood.

  3. Taproot Assets endeavours to provide completely reproducible and verifiable build artifacts for all releases.

  4. I wanted to make a quick addendum to my last post in that I did some further experimenting with Data.ByteString.Builder on both the base16 encoding and decoding tasks, comparing results with the impure direct-allocation-and-write-based implementations I m…

  5. Fast Haskell, Redux

    In this post I’m going to incrementally optimise a simple base16 (hexadecimal) encoding routine and illustrate what sort of performance boost each optimisation yields.

  6. Retvrning to X

    (UPDATE 2026/02/06: the nukes were redeployed; I rode the bomb down whooping, Major Kong style.)

  7. In my last post I mentioned that both the Schnorr and ECDSA signature schemes on secp256k1 could be made faster via the so-called wNAF method for elliptic curve point multiplication (short for the cumbersome “w-ary non-adjacent form”).

  8. I’ve released a library supporting BIP340 Schnorr signatures and deterministic ECDSA on the elliptic curve secp256k1.

  9. Just FYI, I’ve dropped a few simple libraries supporting SHA-{256,512}, HMAC-SHA{256, 512}, and HMAC-DRBG.

  10. Reservoir Sampling

    I have a little library called sampling floating around for general-purpose sampling from arbitrary foldable collections.

  11. Some years ago I wrote about using recursion schemes to encode stochastic processes in an embedded probabilistic programming setting.

  12. Kelvin Versioning

    Long ago, in the distant past, Curtis introduced the idea of kelvin versioning in an informal blog post about Urbit.

  13. Email for l33t h4x0rz

    (UPDATE 2024/09/08: while hosting your own mailserver is not covered in this post, I recommend you check out Simple NixOS Mailserver for a borderline trivial way to do it.)

  14. Basic Hoonery

    In my last post I first introduced hnock, a little interpreter for Nock, and then demonstrated it on a hand-rolled decrement function.

  15. A Nock Interpreter

    I wrote a little Nock interpreter called hnock some months ago and just yesterday updated it to support the latest version of Nock, 4K.

  16. Crushing ISAAC

    (UPDATE 2020/06/30: the good people at tweag.io have since published a Nix shell environment that appears to make testing arbitrary PRNGs much less of a pain.

  17. Transforming to CPS

    I recently picked up Appel’s classic Compiling with Continuations and have been refreshing my continuation-fu more generally.

  18. Why does my blog often feature its typical motley mix of probability, functional programming, and computer science anyway?

  19. Take an iterated integral, e.g.

  20. You can recognize truth by its beauty and simplicity. – Richard Feynman (attributed) In one of his early emails on the Cryptography mailing list, Satoshi claimed that the proof-of-work chain is a solution to the Byzantine Generals Problem (BGP).

  21. Last week Dan Peebles asked me on Twitter if I knew of any writing on the use of recursion schemes for expressing stochastic processes or other probability distributions.

  22. In my last two posts about the Giry monad I derived the thing from its categorical and measure-theoretic foundations.

  23. In my last post I went over the categorical and measure-theoretic foundations of the Giry monad, the ‘canonical’ probability monad that operates on the level of probability measures.

  24. The Giry monad is the canonical probability monad that operates on the level of measures, which are the abstract constructs that canonically represent probability distributions.

  25. Rotating Squares

    Here’s a short one.

  26. To the.. uh, ‘layperson’, pre- and postpromorphisms are probably well into the WTF category of recursion schemes.

  27. Some time ago I came across a way to in-principle perform inference on certain probabilistic programs using comonadic structures and operations.

  28. What does a dead-simple probabilistic programming language look like?

  29. Randomness in Haskell

    Randomness is a constant nuisance point for Haskell beginners who may be coming from a language like Python or R.

  30. On Measurability

    .. this one is pretty dry, I’ll admit.

  31. Making a Market

    Suppose you’re in the derivatives business.

  32. I’ve updated my old flat-mcmc library for ensemble sampling in Haskell and have pushed out a v1.0.0 release.

  33. Applicative functors are useful for encoding context-free effects.

  34. In Practical Recursion Schemes I talked about recursion schemes, describing them as elegant and useful patterns for expressing general computation.

  35. I have another few posts that I’d like to write before cluing up the whole recursion schemes kick I’ve been on.

  36. I previously wrote about implementing merge sort using recursion schemes.

  37. I noticed this article by Tom Ellis today that provides an excellent ‘demystified’ introduction to automatic differentiation.

  38. I’m presently at NIPS and so felt like writing about some appropriate machine learning topic, but along the way I wound up talking about parameterized recursive types, and here we are.

  39. Sorting with Style

    Merge sort is a famous comparison-based sorting algorithm that starts by first recursively dividing a collection of orderable elements into smaller subcollections, and then finishes by recursively sorting and merging the smaller subcollections together to…

  40. I’ve released a number of libraries for doing Markov Chain Monte Carlo (MCMC) in Haskell.

  41. Recursion schemes are elegant and useful patterns for expressing general computation.

  42. Automatic differentiation is one of those things that’s famous for not being as famous as it should be (uh..).

  43. Lately I’ve been trying to do some magic by way of nonstandard interpretations of abstract syntax.

  44. (UPDATE 2016/08/15: Here be monsters.