Abstract: High-quality random number generation is an essential component of many programming applications, from scientific simulation and data processing to cryptography and computer games. A poor choice of algorithm (or a poor application of a good one) can readily lead to spurious results.
This talk explores D's support for random number generation, including the complexities of implementing RNGs as ranges, a comparison to the C++11/14 standard library, and the potential pitfalls of existing std.random functionality, together with suggested workarounds and some potential solutions. Particular attention will be given to the ways in which existing Phobos range-based code makes assumptions that do not necessarily sit easily with supposedly random number sequences.
Speaker Bio: Joseph is a software developer at Sociomantic Labs, Berlin. Prior to this he worked as an academic researcher in various fields of complex systems, including neural networks, economic simulation, and reputation and recommender systems. In his spare time he has been known to blow down wooden tubes in an attempt to create aurally pleasing effects for the entertainment of others.