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…
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,…
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…
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…
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…
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 .…
As I noted in a previous post , I’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…
I’ve been using Obsidian for almost two years now, and I’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’ve also really enjoyed reading Eleanor Konik ’s newsletter about it. Obsidian hasn’t really made me “10x…
(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…
I think I’ve talked myself into proposing a big change in yt. I’m not the “boss” of yt, so it might not happen, but I’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…
For all the data formats that yt knows about, reading a dataset is supposed to be trivial – 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’re just experimenting…
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 – 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’ve set. You can even try out the new “give me a dataset URL” page that I…
tl;dr : kaitai struct is awesome. File formats can be pretty annoying – especially when you figure them out through weird combinations of reverse-engineering, hand-me-down code and trial-and-error. What we’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…
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 “chunks” of data ( YTDataChunk ) in yt are, and a few characteristics of them that wouldn’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…
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 … didn’t! So it looks like there’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…
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 – which presents some problems when doing subsets of particles, as well as when doing visualizations that rely on an implicit meshing. The main…
This course covered topics that could broadly be described as “advanced,” 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.
Starting in Spring 2018, I transitioned courses to using Github Pages and RevealJS. The repository includes built slide decks and rendered Jupyter notebooks.
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.