How Rust Can be A Good Thing

20160820_135602_richtonehdrLast September I saw this article about a programming language I hadn’t heard about before. That language was Rust. At the time, I played around with it a tiny bit but saw no real compelling reason for me to invest the time into learning another language. Then, earlier this week I saw this article on arXiv, and decided to give Rust another look. Continue reading “How Rust Can be A Good Thing”

Things I’ve Learned About Programming

I may have previously mentioned how my days typically consist of programming. I have problems that I have to solve, I then have to think about how to solve them, then write some code to do just that. In my last post I mentioned how I was working on writing some MCMC code, and was finding it difficult to keep it very general so that it is highly reusable. Yesterday I got that code working and began doing so more intensive testing which revealed that there is another feature that I need to add, but it should only take a few minutes to do that thanks to the parameter file parsing library I’ve created. This got me thinking this morning about the things I’ve learned since I began programming, and I thought I’d share some of those as they may be useful to others. Continue reading “Things I’ve Learned About Programming”

The Perils and Pitfalls of Scientific Programming

As I sit here writing this, I’m waiting on some custom software to finish running on my other computer. That custom software is still in a testing phase and the current run will tell me if I have finally figured out the source of a persistent positive bias that I am getting from the output of the code. While waiting, I began to think about adding a graphic user interface to handle the input of various parameters in the code instead of having a parameter file. This then got me thinking about how the current state of scientific software is likely a barrier to many who may otherwise enter a specific field of research. Continue reading “The Perils and Pitfalls of Scientific Programming”