What this is

This blog is a collection of (mostly) jupyter notebooks, in either python or julia, solving various engineering and math problems. These are my weekend projects and are often inspired by things happening in the world, interesting problems I may have encountered at work, or just passing interests of mine. There isn’t really a theme other than mostly chemical engineering, since that’s my profession, and mostly process safety and consequence modelling, as that’s something I’m personally interested in.

I think the best way to learn something new is to try it out yourself, play around with solving problems, see what works and what doesn’t. That’s what these notebooks are. I am also a big believer in putting one’s random projects and terrible code online for other people to look at. The source code for each post is available for you to download and modify to your hearts content. I also try to provide references for everything I’m doing, and those are a good resource for more context. This is a great opportunity for you to tell me all the ways my code is terrible and what I should be doing instead, or tell me all the interesting things you did with it, and the new directions you went in. The internet is a better place when we share.

What this is not

These blog posts do not contain my professional advice or opinion, nor do they represent the opinions of my employer. These are weekend projects, with no guarantees of correctness. You have to think for yourself.

Some technical caveats

The blog itself is rendered directly from the jupyter notebooks by quarto. However, a lot of the boiler plate and set-up is hidden in the final blog post for readability. If you want more details (especially how the plots are generated), please see the source noteboook.

I’m no great coder but, at one point, all of the code here did work. It ran and it generated the results and figures in the given notebook. However, libraries change all the time and often in breaking ways, especially when packages are new (pre version 1.0). Which is a round-about way of saying that any julia code you find online, that is more than a couple of years old, may not run with the latest versions of everything. If you find yourself trying to run old code of mine that no longer works, please open an issue on github and I’ll try and help you out.