About Me

I’m a fly-by-night programmer and sorta-scientist. I like projects that critics rave “will never be completed, never be used, and never be seen” and about which my many friends and admirers say “why are you doing this?”, “literally this is so dumb”, and “there’s something wrong with you”...

Better Docs with JHTML

What’s New with JHTML The last post I wrote was about a framework I had just written allowing rich DOM access through Jupyter widgets. Since writing that, the framework has grown tremendously, including pretty much every feature one might expect from Bootstrap, including the basic nice formatting things like Cards...

JHTML - A Web Framework for Jupyter

Try this live on Binder Today we’re going to be to talking about a package I’ve been working on intermittently for the past month, which I’ve been calling JHTML. If I wanted to really sell it, I’d say it’s a web framework for Jupyter. But really at its heart, it...

Blogging with Jupyter

It has been a few years since I’ve contributed anything to this blog, which isn’t to say that I have forgotten about it, but rather I found that the workflow for writing post I had wasn’t conducive to the way I work these days. The last time I wrote anything...

Writing Books in Mathematica

As part of a continuing series on my new IDE and in particular a series that has focused on publishing—e.g., docs, websites—today we’re gonna look at a new little extension to EasyIDE to work with creating books/tutorials in Mathematica. Obviously making a true book in Mathematica is something of a...

Making a Website with EasyIDE

A common thing that people want to do one they have a nice bit of code is that they way to share it with the world. That was me ~2 years ago and so I went out, found a nice static website builder , wrote a notebook to Markdown generator...

Making Docs with EasyIDE

Now that the IDE stuff I’ve been working on has largely settled, I think it’s time to show off what it can do. There will be a few of these posts, hopefully, but for today we’ll focus on how the IDE can be used to make documentation. ‌ Getting Set...

EasyIDE - An IDE for Mathematica

Contrary to what would probably be best practice, I do all of my Mathematica development inside Mathematica itself. To support this I built out a suite of application development tools , a web site builder , a bug tracker , and a documentation writing system . Each of these worked...

Getting Started with SimpleDocs - The Simpler Docs Palette

‌ Installing SimpleDocs The easiest way to get SimpleDocs is off the paclet server . Copy the installation code there and you’ll have a fresh new copy of SimpleDocs. For convenience I’ve duplicated that here: << https://paclets.github.io/PacletServer/Install.wl PublicPacletInstall["SimpleDocs"] (*Out:*) ‌ Using the Palette Rather than describing all the functions of...

Making a Paclet with BTools

Today we’re gonna look at something I’ve been meaning to document for a long time now. Over the past two or so years I’ve developed a framework to simplify the development process. In the post, I’m gonna show you how to actually use it. To make it easier to use...

Request - Development Input

‌ What Do People Want To Build? Over the past year and a bit I’ve developed quite a bit of infrastructure from a documentation platform to a website builder and package repository all extending and using my existing toolkit . Recently, though I’ve wondered what I can do to make...

Simplifying Mathematica Documentation

‌ Mathematica’s Documentation Center is a big selling point of the software. For many of the core system functions there’s a rich documentation page with the basic call signatures, details on how the function works, and many useful examples. This is a powerful resource for people, especially those just getting...

Playing with YouTube from Mathematica

Today I’m gonna quickly show off something I made for a friend (and about which I’d been thinking for some time). We’re gonna use the YouTube API in Mathematica to do a have some fun (but not too much fun, mind you!). Installing the YouTube Connection My connection to the...

Adding a Paclet to the Mathematica Paclet Server

This’ll be a short-and-sweet explanation of how to add a paclet to the Mathematica Paclet Server . The hope is that it shows how easy these things can be. To showcase this I’ll add my Ems package that I showcased in my post Making a Blog in 30 Minutes ....

Making a Blog in 30 Minutes

Today I’m going to have a bit of fun showing off a polished up project of mine. We’re going to make a full-fledged Mathematica blog in under 30 minutes using a package of mine called Ems . Let’s get the clock started! $start = Now (*Out:*) The first thing we’ll...

PJLink - Hooking up Mathematica and Python

Mathematica is an incredibly powerful platform with a fun and intellectually pleasing language, but is incredibly expensive, closed source, and Stephen Wolfram rubs many people the wrong way. Python is a convenient, pretty powerful language with a lot of support from the developer community. For as long as the two...

Creating a Mathematica Package Repository

This post is going to detail how I set up one of my recent projects—and a project I hope outlasts my direct involvement in it. We’re going to talk about how to set up a custom paclet server in GitHub. ‌ Paclet Servers Revisited I talked about paclet servers a...

Finding Functions in Mathematica

As someone who has used Mathematica for a long time now, one thing I often forget is how hard it can be to find the best functions for a given task when you’re just starting out. Mathematica has a nice Documentation Center , but finding stuff in it often turns...

Making Documentation with DocGen

Here’s a quick example of how we can use some of the stuff I showed in this post to build out full documentation by hand. ‌ Getting DocGen This post will be using my DocGen system which is built into a large package of mine that supports other parts of...

Making Mathematica Documentation with Mathematica

This post is going to be long on design and relatively short on code. As usual, it’s exposition of something I spent a while developing and have cooked into one of my packages . I’m going to talk about how to make and distribute documentation in Mathematica, with specific emphasis...

Building External Connections in Mathematica

This builds off of something I brought up on StackExchange a bit ago as well as some recent work I’ve done in building a nicer interface to Git and GitHub . I’m hoping to mainly lay out in a brief fashion how one can tackle the really broad question of...

Comment Analysis of the Mathematica StackExchange

For this post, I’m going to use a bunch of data I mined a few posts back to do a basic analysis of the comments on a forum like StackExchange. As per usual, I’m going to focus on the Mathematica StackExchange, as that is in some sense my “home” community...

Quantum Chemistry in Mathematica, A DVR Framework

This will (time-permitting) be the first of a series of posts on doing quantum chemistry in Mathematica. This post will focus on one of the simplest non-standard techniques for solving the Schrödinger equation, called discrete variable representation (DVR). ‌ A Discrete Variable Representation Framework Discrete variable representation (DVR) as a...

Building Websites with Mathematica, Part 2

So in this website’s very first post I ran through how one can use pelican and Mathematica in conjunction to make a website. Now we’re gonna cut pelican out all together. The basic process will look almost exactly the same, though: Write content in Mathematica notebooks Customize the website via...

User Cohorts on the StackExchange Network

Here’s a quick post on something I’ve been playing with recently. For fun I was looking at the data from the StackExchange API and noticed that it provides user ages, assuming a user has provided their birthdate to StackExchange. So, for fun, I decided I’d look at the Mathematica user-age...

Building a Mathematica Package Ecosystem, Part 2.

So a few days ago I talked about building a package ecosystem in Mathematica by extending the built-in package manager. In that post I identified two things that ought to be extended to improve how packages are used in the Mathematica community: The package manager needs to be more automated...

Building a Mathematica Package Ecosystem, Part 1.

We’ll start off this post by trying to establish what we mean by a “Package Ecosystem”. The basic idea is a collection of frameworks that make package distribution and development easy and relatively seamless. Essentially, we’ll want something or a collection of somethings that don’t actually (explicitly) change the way...

A Fake Object Framework

I promised in my post on chemistry and objects that I’d walk through the details of building an object framework in Mathematica so here we are. For those who would like to follow along, here is the package that implements this framework. Just as a quick refresher, there were a...

Questions on the Mathematica Stack Exchange, Part 2

This is an extension on my previous post about digging through the Stack Exchange. If you want some more background head there. Last time we briefly looked at how questions tracked with Mathematica release dates. Today we’ll look at how time of posting correlates with question score and with answer...

Psi4 4 Mathematica

We’ll return to doing fake chemistry , but this time we’ll work with something that very real chemists have built, namely the open-source quantum chemistry package Psi4 the package itself is voluminous, doing many things I don’t understand and never really will, but it does do some things that every...

Pretend Chemistry and Fake Objects

I enjoy pretending to work with data whenever possible, be it a data scientist digging scraping and analyzing data from Stack Exchange or a looking at JPL spectra, but by far my favorite data to pretend to work with is wholly pretend chemical data. In fact, I like that so...

Questions on The Mathematica Stack Exchange

Having built out a framework for developing custom hook-ins to ServiceConnect it’s worth now seeing what we can do with that. There are lots of interesting APIs to connect to, of course, but we’ll start with a relatively simple one, the Stack Exchange API . The API is simple, as...

ServiceConnections - Mathematica on the Web

This is a an amalgamation of three Stack Exchange answers Mathematica has a nice system for building API connections. It’s clean, object oriented, and built off of the function ServiceConnect . The basic idea is that one connects to a service, creates an object representing that connection and caching its...

Building Websites with Mathematica

For this website’s inaugural post I thought I’d detail how it was built. It starts, I suppose, with an HTML templating package I wrote. For various things I’d needed to host static HTML pages in the Wolfram Cloud. My basic process there was to write some block like: $htmlTemplate= "<html>...