The Magic Whiteboard - Part I

Subtitle: The Obsidian Wizard

The Magic Whiteboard is your personal genius assistant for all of your STEM projects. It knows practically everything and can have in-depth conversations with you on most topics. If you need to look something up, The Magic Whiteboard will help you find the right sources and can summarize the information and discuss the material with you.

Simple calculations can be done immediately by the wizard scientist, and the hacker will help write code for more complex problems. Do you need a data analyst? The Magic Whiteboard has one of those, too!

When you’ve finished writing up notes on a subject, you can have The Magic Whiteboard organize them and help you write anything from a blog post to an academic journal article.

We’ll show you how to build your own Magic Whiteboard and customize it for your work. The Magic Whiteboard can be modified at any time to help with your specific science or technology project. We’ll show you how to set up a mathematics whiteboard, but you could just as easily make a chemistry, biology, or physics whiteboard.

When I start writing a STEM article, the first step is to convert an idea into an outline of the article. Often, the idea builds on something that has already been done, so a literature search is needed. It might need some math, and the concept needs to be converted to LaTeX to generate the correct mathematical symbols.

In many cases, in-depth calculations are required which means writing code in the appropriate scientific computer language, and the output usually needs to be plotted. Finally, the concept must be converted into a coherent document.

My problem is that I’m pretty good with math and LaTeX, and get progressively worse with everything else. I’m not trained as a software engineer or technical writer, and this is true for most scientists. Many others are beginning to see the benefits of something like the Magic Whiteboard.

The Allen Institute is creating “an open generative AI language model ‘by scientists, for scientists’”, and an international team of scientists is building an AI system called Polymathic AI that will learn scientific principles. An article in Nature says that “A world of AI-assisted writing and reviewing might transform the nature of the scientific paper”, but another asks “Scientists used ChatGPT to generate an entire paper from scratch — but is it any good?”

Large Language Models (LLMs) have been controversial since their introduction because they can be biased, use potentially private data for training, and are prone to hallucinations. Hallucinations are when the answer it gives sounds plausible, but is incorrect. Think of them as billion-dollar mansplainers, and training an LLM requires a lot of energy and resources, although it needs much less energy to give answers. Google says they’re working on a way to prevent Skynet from happening, so that’s … um … reassuring.

The Magic Whiteboard won’t create anything without your input, and the answers may not always be correct so double check everything. And remember - STEM responsibly!

The Characters

The Magic Whiteboard is built on the note-taking app Obsidian as a template that will be the starting point for your projects. The template contains functions for each purpose which might be thought of as characters in a novel.

Each character has a tab so you can switch to that character to call on its expertise. You can choose which characters you want and name them whatever you like. You may not want all of the characters listed here, or you may decide to include some that we haven’t.

The characters we’ll be using are:

In this article, we’ll build the whiteboard in Obsidian. Later, we’ll make the librarian in a style similar to The Academic Browser and finally, we’ll create an interface for AI-assisted programming (The Hacker) and data analysis (The Statistician).

The Vaults

To build your own Magic Whiteboard, download and install Obsidian, “the private and flexible note‑taking app that adapts to the way you think.” To get started, look at the Obsidian Help page or the Community page. Projects are kept in vaults that contain notes. You may want to change the look of Obsidian by using a new theme.

Obsidian defines templates as pre-defined snippets of text. The Magic Whiteboard will use an entire vault as a template for other vaults, so first, create a new vault and name it, “The Magic Whiteboard”. Click the gear icon for “Settings” in the lower left corner if you want to change the appearance or use a different theme.

Now add three pages (called Notes in Obsidian), naming them “Whiteboard”, “The Librarian”, and “The Hacker”, or whatever you like so long as they make sense to you. If you create a Note and want to change the name later, you can either change the title on the Notes page, or you can right-click the name in the vault outline on the left panel, and select “Rename”. To make a new Notes page use Ctrl-n.

magic-whiteboard-main

The Magic Whiteboard

We’ll extend Obsidian with useful plugins for each page. The intended purpose of a plugin might be for one of the notes pages, but it can be used anywhere in the vault. If you create a new vault, then you need to install plugins for that vault. Since The Magic Whiteboard will be used as a template for other vaults, we’ll need to make a complete copy of the vault to maintain the structure and plugins.

The Mad Scientist’s Whiteboard

Obsidian comes with a core set of plugins, but there is a large set of community plugins available through the Settings gear (lower left). To turn on the magic of The Mad Scientist’s Whiteboard, install the Copilot plugin by clicking the Settings gear, then Community Plugins and searching for Copilot in the community plugins.

After installation, click on Copilot under Community Plugins on the left panel of the Settings window. Get API keys for OpenAI, Cohere, and Huggingface and link them to the Copilot settings. API keys are unique and generated at the time you ask for one. You should keep a copy of each API key in case you need to re-install it. I keep mine in my KeePass database.

When you’ve entered the API keys, go back to the Settings page and turn the Copilot plugin off and back on.

You’ll probably have to have an account and log in, but once you’ve done that it’s the same as working from any other browser. ChatGPT remembers the history of questions you’ve asked, and they all show up here, too.

You can embed your login information in the link if you prefer:

https://chat.openai.com/?model=text-davinci-002-render-sha?login=<myloginID>&password=<myPassword>

Sometimes when I’m writing matrix equations I find that I know what should go into the matrix, but producing the LaTeX code takes a lot of time. With ChatGPT I can ask it to do it for me, and then I can copy and paste the answer into the document:

LaTeX-code-for-symmetric-Toeplitz-matrix

ChatGPT LaTeX Generation

This is much easier!

ChatGPT also knows how to read LaTeX and can generate a solution from it.

solve-sin-integral

ChatGPT Integral Solution

If you copy this into your Magic Whiteboard, the answer is in LaTeX format so you don’t need to modify it in any way. You could get the same answer from WolframAlpha, but you’d have to pay for the step-by-step solution, and you can’t directly paste it into your document.

The Magic of Plugins

Obsidian plugins extend the basic capabilities of the notebook and there are several that are very useful for working on STEM problems. After installing a new plugin hotkeys for some operations may have been defined by the plugin.

To find the hotkeys, click the Settings gear, then Hotkeys in the left panel, and scroll down to find the hotkey definitions. The Text Generator plugin defines Ctrl-J as the hotkey to initiate text generation by an AI provider.

plugin-hotkeys

Obsidian Hotkeys

Execute Code

With the Execute Code plugin, you can run snippets of code on the whiteboard in the Octave, Python, or R languages. This plugin could be handy for a simple calculation, but The Hacker tab will be much more comprehensive in its capabilities.

I was able to get Python and R working by pasting in the full path and executable, e.g. C:/Python39/pythonw.exe, but as of now, the capabilities are limited to calculations that do not require importing libraries.

For Octave, there is a space in the name of the installation path that this plugin couldn’t interpret, so I added the full path to the Environment Variables Path definition.

To use the plugin, type three backticks followed by run-<language>. Enter the calculation, then move your cursor out of the block, which will display the ‘Run’ button. Click on the button to execute the calculation, and place your cursor back inside the block to display the ‘Clear’ button.

execute-code-plugin

Execute Code Example

Surfing

The Surfing plugin lets you access the web from a new tab in Obsidian. With the Surfing plugin, if you click the “+” to add a new tab in your vault it will open a web page so you can surf the internet directly.

Text Generator

Text Generator is an open-source AI Assistant Tool that brings the power of Generative Artificial Intelligence to the power of knowledge creation and organization in Obsidian. For example, use Text Generator to generate ideas, attractive titles, summaries, outlines, and whole paragraphs based on your knowledge database.

If you have a subscription to one of the Large Language Models (LLMs), enter the API key and let the LLM help generate text for you. In this example, I wrote the paragraph at the top with the instruction “Following is the outline of the article”, and let the LLM continue from there.

Instead of using a paid subscription model, this outline was generated with Google Bard. I’ll explain how to do that in the next post.

text-generator-outline

Text Generator Example

Longform

Longform is a plugin for Obsidian that helps you write and edit novels, screenplays, and other long projects. It lets you organize a series of notes, or scenes, into an ordered manuscript. It also supports single-note projects for shorter works.

Excalidraw

Excalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them, and this plugin connects Obsidian to Excalidraw. Because you need a whiteboard for your whiteboard.

If you like Excalidraw, you might also like Excalibrain an interactive, structured mind-map of your Obsidian Vault generated based on the folders and files in your Vault by interpreting the links, dataview fields, tags, and YAML front matter in your markdown files.

Collaboration

At some point, you’ll want to collaborate with other people on a project. You can either create an Obsidian account and pay $8/month for their Obsidian Publish hosting service, or install the free open-source alternative, MindStone.

If you use more than one computer, you’ll also want to keep your files in sync. Obsidian Sync also costs $8/month, but there are free options including SyncThing and SyncTrayzor (see Mathics and Nebo).

The Obsidian Hub is an experimental repository for community-built plugins, and the Plugins for Collaboration page lists a few tools such as Obsidian Git which may also be useful for working together.

LanguageTool

Obsidian LanguageTool is a plugin for Obsidian that integrates LanguageTool to provide advanced grammar and spell checking.

Note Linker

The Obsidian Note Linker automatically finds and creates new links between notes. By scanning each note of the vault for occurrences of other note names (or aliases), it suggests a list of new potential links, which can be created with the click of a button. By linking notes, you can create a network of knowledge.

ZettelFlow

ZettelFlow is your essential solution for optimizing your Zettelkasten method within the Obsidian app. This innovative plugin empowers you to effortlessly configure a customized workflow, enabling the seamless creation of new notes while specifying properties, templates, and storage locations through the native canvas interface.

Some links to plugins that others have found useful:


Image credits

Hero: Stable Diffusion

The Magic Whiteboard: Obsidian

ChatGPT LaTeX Generation and Integral Solution: ChatGPT

Obsidian Hotkeys: Obsidian

Execute Code Example: Execute Code Plugin

Text Generator Example: Text Generator Plugin

Code for this article

Obsidian, and plugins:


Software

Obsidian

Obsidian is a personal knowledge base and note-taking software application that operates on Markdown.

Posts using Obsidian

Octave

GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.

Posts using Octave

See all software used on wildpeaches →