Welcome Skills Experience Education Projects Blog
Search

Web Log

July 6, 2025Computational Astrophysics Slides

My presentation slides from a lecture series that I gave UC Riverside physics & astronomy students in 2011. Some of the specific references to computer hardware and software are a bit out of date, but the principles of mathematics, physics, and high-performance computing remain the same.


June 28, 2025A Pybind11 Demo

A demonstration showing how to use pybind11 to wrap some simple C++ functions and a simple class. I demonstrate how to handle NumPy arrays and I perform some benchmarks, demonstrating the performance benefit of compiler optimizations, vectorization with AVX, and parallelization with OpenMP. There is also a bit of a discussion of the performance on the different chiplets of a Ryzen 9 7950X3D


June 6, 2025Introducing nrstatic

An introduction to nrstatic—the static webpage creator that I wrote to create this website. It is specifically designed with technical communication in mind.


October 19, 2022NISP-S Scaling

A tool for conveniently viewing the contents of Euclid’s NISP-S images. The underlying scaling routine would be also useful for other extremely high dynamic range images containing hot pixels and negative pixels from background subtraction. The code introduced here is specifically designed to generate 16 images from a NISP-S FITS exposure (one image for each of the detectors).


July 15, 2020Python Gotchas

In this post, I point out some common issues that Python beginners often enounter which can lead to headaches. The goal is to point out the common ‘gotchas’ to speed up the learning process. Some of the points astronomy-specific, since most of the people I currently work with are astronomers.


February 11, 2020Cleaning up Ph.D. Python

A high-level guide for scientists who would like to learn to produce higher-quality code.


December 15, 2019Syncing VM Images

A tool for syncing large files, such as VM images, over a network considerably more efficiently than using rsync.


March 8, 2019Lazy evaluation in Python

A discussion and example of lazy loading and lazy evalation in Python classes.


December 31, 2016Somelight

A tool for analyzing how much direct sunlight a region receives on any arbitrary date, given the presence of obscuring objects, such as buildings and fences. This is useful for planning the location of a garden or choosing what types of plants will do well in a particular area.


December 1, 2016Euclid Software Development Notes

Notes on getting started with Euclid software development.


October 1, 2016Watch a Simple DNN Learn

I wrote a simple deep neural network code in C++ in order to learn how DNNs work. Here’s a demonstration of a network learning to approximate a simple function.


March 11, 2016A PPP Rendering Script

A helper script for rendering Pretty Parametric Plots images to a file.


May 29, 2015Wormhole

A tool that uses inotofy to automatically perform specified tasks on files that are placed into a specified directory.


April 22, 2014About Pretty Parametric Plots

A little bit of info about how Pretty Parametric Plots works and why it’s somewhat more complicated than a simple parametric function plotting routine.


December 12, 2013My Dissertation

My dissertation, The Evolution of Stellar Velocity Dispersion in Galaxy Mergers, has been completed!


October 18, 2013Vectorization with SSE

A brief introduction to vectorizing code manually using SSE with compiler intrinsics in C++.


September 8, 2013GSnap Improvements

A summary of improvements that were made recently to GSnap in preparation for its release.


April 28, 2013User-defined Literals in C++11

A brief introductions to user-defined literals, which is a feature that is new in C++11.


November 11, 2011A Two-Point Cubic Spline

An expression for a cubic spline that can be used to interpolate particle positions between galaxy merger simulations. This expression insures that the particle velocity is continuous, leading to smoother animations of simulations.


November 10, 2011Quadratic Spline Interpolation

A derivation of a quadratic spline interpolator for interpolating positions of particles between galaxy merger simulation snapshots.


February 14, 2011Crunch

I built a 24-core Magny-Cours AMD Opteron workstation with 64 GB of unbuffered RAM and named it Crunch. It will be used to perform much of the computational work for my Ph.D. project. It also has a rather powerful nVidia GPU for running the CUDA-accelerated Sunrise analysis code.


July 18, 2009Contravariant vs. Covariant Tensors

An attempt to make the concepts of contravariant and covariant tensors a bit easier to understand.


July 11, 2009Appoximation in Physics

A discussion of approximation methods that are used in physics, including some detailed examples of series expansions and perturbation theory.


July 10, 2009Euler’s Formula

A derivation of Euler’s Formula and Euler’s identity, which is just a special case: $e^{i\pi} + 1 = 0$.


July 10, 2009Inverse Trig Derivatives

An explanation and demonstration of two methods for finding the derivatives of the inverse trigonometric functions.


July 10, 2009Inverse Trig Functions

An explanation of how to derive explicit (complex) expressions for the inverse trigonometric functions.


July 10, 2009Complex Trig Functions

A demonstration of how to write explicit expressions for the trigonometric functions in terms of complex exponentials. Using these expressions, trigonometry essentially becomes just a straightforward application of algebra.


July 9, 2009Implicit Differentiation

An explanation of what is meant by the term implicit differentiation along with an example.


July 8, 2009The Inverse Quadratic

A derivation of the expression for inverse of a quadratic equation. The “quadratic formula” is then just a special case, where $y = 0$.


July 7, 2009The Product Rule for Differentiation

A derivation of the product rule for differentiation, since it is often just presented as a magical statement to be verified.


July 6, 2009The Pythagorean Theorem

A derivation of the Pythagorean Theorem.


Nathaniel R. Stickley
nrs@nrstickley.phd
626-269-8312