RSSAmplifier

Blog

mjt

mjt

matthewturk.github.ioRSS feed ↗78 posts

Latest posts

My 2025 Writing Project

I’m going to write it down here, because I want to have some measure of accountability, so here goes: I am going to take on a writing project this year, and it’s going to be documenting my work looking at the file formats of The Summoning . I’ve started it, and gotten a little ways in, and I haven’t decided yet how long it’s going to be. But right now, I’m…

Kanban Slides in Obsidian

I do nearly all of my presentations in RevealJS . I originally picked it up sometime just before the pandemic, but then during 2020 I went all in and decided to make it my primary or exclusive means of giving talks. (Actually, that timeline might not quite work out. But who cares? No one is going to fact check me! It’s snowing out and no one has time for that!) For the longest time,…

Contextual Sidecar in Obsidian

As I’ve mentioned on here before, I use Obsidian a lot. One thing that I’ve really come to like as of late is the meta-bind plugin. This let’s you add items to your notes that edit the frontmatter metadata, as well as buttons to execute actions, and special-purpose “views” of the data in your notes. One of the most common types of notes I use is a meeting-notes…

How I Rang In 2024

A project I’ve been noodling with for the last few years (okay a lot of years) has been reverse engineering the file formats for the game The Summoning . This has led to things like learning kaitai.io , digging into DOSbox , Ghidra (and writing some scripts ), and exploring lots of things in a parsing library . I even live streamed some reversing work and a walkthrough of my efforts a while…

Paper Annotation in Obsidian

I’ve started keeping notes on papers in Obsidian and I thought I’d share the workflow, which so far is pretty straightforward and easy to set up. This uses the binary file manager plugin and the annotator plugin. Annotator uses hypothes.is with local storage (in markdown) of the annotations. I set up a folder, attachments/papers , which is where I’ll be putting all my PDFs. I…

Recent Fun With yt

I’ve recently been having fun with yt again. Really, though, I’ve been having fun exploring the ways I can use it from different perspectives, and using it to teach myself the library textual . A long, long time ago, when we were much younger (around the time Streetlight Manifesto put out their first album, “Everything Goes Numb”) I started trying to learn and use Enzo .…

Project Notes in Obsidian

As I noted in a previous post , I&rsquo;ve been using Obsidian for personal note taking and whatnot. I swear by using the Templater plugin, and I have setups for note taking for meetings and check-ins with students. I recently formalized something that I do in all of them, which makes it a lot easier to set up. For instance, my meeting-notes template looks like this: <%* let projectName = await…

Strava in Obsidian

I&rsquo;ve been using Obsidian for almost two years now, and I&rsquo;ve been finding it more and more integrated into my daily life. I take notes (using a variety of templates) in it, track my daily goals and some personal statistics, and I love the plugin ecosystem. I&rsquo;ve also really enjoyed reading Eleanor Konik &rsquo;s newsletter about it. Obsidian hasn&rsquo;t really made me &ldquo;10x…

IS545 - Spring 2022

Advanced data visualization topics, with an increased focus on connecting different platforms.

yt: for volumetric analysis and visualization

Data Storytelling and the Grammar of Analysis

IS445 - Fall 2021

This semester built on the previous round, but added more detail on vega-lite and building dashboards with vega-lite.

Visualization with yt

Cosmological Simulation Infrastructure

IS545 - Spring 2021

This version of Advanced Data Viz included more server-side rendering and a deeper exploration of prototyping of visualizations.

state of viz in yt

A Grammar of Analysis for Volumetric Astrophysical Data

IS445 - Fall 2020

This semester included a redesigned coursework page, as well as more detail on javascript, frameworks, and jupyter widgets.

Interpretation, Grammar and Visualization

A Little Bit of Endianness

(Confession time: I did not even realize I was mildly-punning in that title.) Over the last few months, my hobby-time has mostly been focused on some reverse engineering of old DOS games I played as a kid. The fruits of that will wait for another blog post, but this has led to some very fun investigations using the DOSbox debugger , Ghidra and learning the Ghidra API to decompile MS-DOS system…

QMC-HAMM: Quick Research Overview

A Grammar of Volumetric Analysis

IS590DV - Fall 2019

This course continued to include javascript and bqplot, but started touching on d3js as well.

yt: Internal and External Ecosystems

I think I&rsquo;ve talked myself into proposing a big change in yt. I&rsquo;m not the &ldquo;boss&rdquo; of yt, so it might not happen, but I&rsquo;ve kind of worked up my courage to make a serious suggestion. This last week I have been at SciPy 2019 and I had the opportunity to see a lot of talks. There were a few that really stuck with me, but for the purposes of this rather technically-focused…

Getting Lost in Community Building

Loading data in yt: Can we make it better?

For all the data formats that yt knows about, reading a dataset is supposed to be trivial &ndash; the yt.load command knows how to parse the metadata of something like 30-50 different dialects of data, generate the in-memory representation, and even manage things like the coordinate system (Spherical? Cartesian? etc) and how to apply spatial transformations. But, if you&rsquo;re just experimenting…

Whole Tale: Exploration, Analysis and Reproducibility

tl;dr The Whole Tale leverages neat stuff like Jupyter, repo2docker and RStudio, building out a research environment that gives you access to any data, anywhere &ndash; and when you stop you can pick right up where you left off, with your data, your research, and even any customizations or preferences you&rsquo;ve set. You can even try out the new &ldquo;give me a dataset URL&rdquo; page that I…

Kaitai Struct and Scientific Data

tl;dr : kaitai struct is awesome. File formats can be pretty annoying &ndash; especially when you figure them out through weird combinations of reverse-engineering, hand-me-down code and trial-and-error. What we&rsquo;ve ended up with in yt is a bunch of data formats where the process of conducting the IO is all mixed up with the description of that IO. This means that any attempt to update things…

OSHIW: NumFOCUS Sustainability

Refactoring yt Frontends - Part 3

Welcome to part 3 of a series on how yt deals with data and the ways that helps and hinders things! This time, I am going to describe what &ldquo;chunks&rdquo; of data ( YTDataChunk ) in yt are, and a few characteristics of them that wouldn&rsquo;t be obvious from the previous blog posts. Chunks have spatial attributes Data chunks in yt have a set of special attributes that help yt to put them in…

Refactoring yt Frontends - Part 2

SIDE NOTE : I intended for this blog post to be a bit shorter than it turned out, and for it to cover some things it &hellip; didn&rsquo;t! So it looks like there&rsquo;ll be a part three in the series. Operations on Data Objects In my previous post, I walked through a few aspects of how the chunking system in yt works, mostly focusing on the "io" style of chunking, where the order in which data…

yt: Hard Questions

Refactoring yt Frontends - Part 1

In the still-in-development version of yt (4.0), the way that particles are handled has been redesigned from the ground up. The current version of yt (3.x) utilizes an octree-based approach for meshing the particles, although not for indexing them &ndash; which presents some problems when doing subsets of particles, as well as when doing visualizations that rely on an implicit meshing. The main…

yt

Crops-in-Silico Collaboration and Dependencies

Computing environments for reproducibility: Capturing the ``Whole Tale''

DDD Update

Troubleshooting Data Storytelling

CIRSS Seminar: Open Source in the Teen Years

Crops in Silico

Whole Tale

IS590ADV - Spring 2019

This course covered topics that could broadly be described as &ldquo;advanced,&rdquo; including new platforms and tools for visualizing data, and how to present data in different, more thoughtful ways. It was structured differently than the other data viz courses, and designed for more interaction with a smaller group of students.

IS590DV - Fall 2018

This course, offered in Fall of 2018, included more javascript than previous iterations and also utilized bqplot to a greater extent.

unyt: Handle, manipulate, and convert data with units in Python

ASTR496 - Spring 2018

This was an experimental course designed to convey the basics of &ldquo;conversational computation&rdquo; to astronomy undergraduates.

IS590DV - Spring 2018

Starting in Spring 2018, I transitioned courses to using Github Pages and RevealJS. The repository includes built slide decks and rendered Jupyter notebooks.

GAMER-2: a GPU-accelerated adaptive mesh refinement code -- accuracy, performance, and scalability

LIS590DV - Fall 2017

This was the second semester that I taught Data Viz, and I was still largely using Google Slides. The link to the repository includes the lecture PDFs and notebooks used.

Crops In Silico: Generating Virtual Crops Using an Integrative and Multi-scale Modeling Platform

grackle: a chemistry and cooling library for astrophysics