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...
- Tue. Apr 23 2019
- mathematica
- b3m2a1
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...
- Wed. Apr 17 2019
- mathematica
- b3m2a1
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...
- Tue. Apr 09 2019
- mathematica documentation
- b3m2a1
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...
- Mon. Apr 08 2019
- mathematica
- b3m2a1
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...
- Wed. Feb 20 2019
- mathematica documentation
- b3m2a1
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...
- Sat. Feb 16 2019
- mathematica packages
- b3m2a1
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...
- Thu. Feb 07 2019
- mathematica
- b3m2a1
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...
- Mon. Jan 21 2019
- documentation
- b3m2a1
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...
- Fri. Sep 28 2018
- mathematica
- b3m2a1
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...
- Thu. Sep 27 2018
- mathematica
- b3m2a1
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 ....
- Wed. Sep 26 2018
- mathematica
- b3m2a1
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...
- Wed. Sep 19 2018
- mathematica python
- b3m2a1
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...
- Wed. Mar 28 2018
- documentation
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...
- Sat. Mar 24 2018
- documentation
- b3m2a1
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...
- Wed. Mar 21 2018
- documentation
- b3m2a1
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...
- Wed. Mar 21 2018
- mathematica
- b3m2a1
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...
- Sun. Dec 17 2017
- mathematica
- b3m2a1
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...
- Tue. Sep 19 2017
- mathematica
- b3m2a1
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...
- Sat. Sep 16 2017
- mathematica
- b3m2a1
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...
- Mon. Sep 04 2017
- mathematica
- b3m2a1
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...
- Tue. Aug 29 2017
- mathematica
- b3m2a1
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...
- Fri. Aug 04 2017
- mathematica
- b3m2a1
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...
- Mon. Jul 31 2017
- mathematica
- b3m2a1
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...
- Sat. Jul 29 2017
- mathematica psi4
- b3m2a1
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...
- Thu. Jul 27 2017
- mathematica
- b3m2a1
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...
- Tue. Jul 25 2017
- mathematica
- b3m2a1
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...
- Mon. Jul 24 2017
- mathematica
- b3m2a1
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...
- Sun. Jul 23 2017
- mathematica python meta
- b3m2a1
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>...