What is the permaweb?

The permaweb is composed of web pages and services running on the arweave blockchain. We are planning to post a version of the ReactorLab web site on the permaweb.

Why? Since arweave is a blockchain, web sites posted to its blockchain are permanently stored on the peer network. This service is provided for a one-time fee, which is computed to provide distributed storage long into the future.

If ReactorLab.net’s current host goes out of business, or our lifetime hosting plan ends with our life, the permaweb version will live on.

We thank onlyArweave.com for introducing us to arweave and the permaweb. We use the Simply Static WordPress plugin to export a static version of the site, then upload the site to ardrive, which puts it on the arweave permaweb. The one-time payment in AR tokens is made using the arconnect wallet browser extension. Dynamic sites which store and retrieve data on the permaweb can also be hosted there.

What is a blockchain? See our Web Labs on Blockchain, Crypto.

Please send us a message letting us know what you think at support@reactorlab.net

Links to external sites open in new browser tabs.

What happened to the desktop Lab?

As of July, 2022, I am no longer providing downloads of the desktop versions of our software.

After retiring from the university eight years ago, I stopped maintaining the desktop (standalone, executable) versions for several reasons.

The main reason is that web technology has developed to the point that interactive web apps can be written once, then distributed and run on all varieties of smart phones and computers. One important development has been the dramatically increased speed of Javascript in web browsers, which enables fast computation and graphics animation.

Another reason is that I have chosen not to spend the cost in time and money required to update and build desktop executables for multiple operating systems, as the versions of our development tool, LiveCode, and operating systems change.

The source code of our desktop software is posted at our GitHub site.

Please see our Web Labs, for which the source code is also posted at our GitHub site.

Please send us a message letting us know what you think at support@reactorlab.net

Links to external sites open in new browser tabs.

More analysis of files downloaded from RESOURCES

We analyzed the raw log from October 31 through November 11 of 2021, subtracting web bots and spiders.

Of 764 unique users who accessed at least one PDF, only 80 did anything on the site other than access a PDF (view or download).

Two reasons probably contribute to this result: (1) some users are accessing single pages found in a browser search, and (2) some instructors are posting direct links to individual PDFs in the RESOURCES section.

That is easy to do in making reading assignments but deprives students of seeing all the other material on this web site.

I request that instructors post a link to our Home Page with each assignment and encourage students to look around the site.

Maybe even ask students to turn in a response to a question, such as what the conversion of reactant is when the temperature is set to 300 for the home page reactor.

A big THANK YOU to instructors who do this!

Top files downloaded from RESOURCES

We were interested in which notes in the RESOURCES section are being used. The data here are for the month of October, 2021.

We are happy the notes in Resources are being found useful. Please let us know your thoughts via email to support@reactorlab.net

The top 10 countries for download bandwidth are, in order most to least: USA, India, Mexico, Brazil, Canada, Philippines, Japan, Great Britain, Russia, Germany.

Top 20 files accessed (viewed or downloaded):

# Downloads, File
221, CRE Notes 13 – intro to PFRs
217, CRE Notes 7 – data analysis
216, CRE Notes 14 – intro to CSTRs
213, CRE Notes 16 – more reactors
181, CRE Notes 9 – thermal effects
139, CRE Notes 12 – multiple reactions
106, CRE Notes 15 – CSTR thermal effects
104, COCO simulator, Part 1 – flash drum
83, Matlab, material balances
80, CRE Notes 11 – semi-batch
72, GRAD CRE Notes, oregonator description
67, GRAD CRE Notes, Reaction and diffusion in porous catalysts
60, Matlab, array vs matrix ops
54, Matlab, bouncing ball eqns
48, CRE Notes 4 – integration
47, CRE Notes 13-A – methanol reactor model
47, GRAD CRE Notes, ammonia synthesis kinetics
39, Matlab, hex 15_12.txt
38, Control notes, 4. transfer functions
38, GRAD CRE Notes, effectiveness greater than one

The Web Labs are being used each day

We counted the number of runs in each of the Web Labs for the 13.4 days of Mon, 18 Oct 2021 21:16 to Mon, 1 Nov 2021 11:00

The reactor on the Home Page is seeing an average of 45 runs per day.

Lab 7, the Plug Flow Reactor is seeing an average of 30 runs per day during this period. Every Web Lab has been used.

We are happy the Web Labs are being found useful. Please let us know your thoughts via email to support@reactorlab.net

600 runs, Home Page reactor
406 runs, Lab 7, Plug Flow Reactor, including 7 Quiz for this period
271 runs, Lab 9, Hysteresis and multiple steady states in catalytic CSTRs in series
103 runs, Lab 13, Batch reactor, isothermal, nth order reaction
101 runs, Lab 3, Reactor T control with Tj inlet
83 runs, Lab 1, Water Tank Level Control
63 runs, Lab 14, CSTR, isothermal, nth order reaction
52 runs, Lab 15, PFR reactor, isothermal, nth order reaction
47 runs, Lab 5, Bioreactor Control
35 runs, Lab 18, Teddy Token blockchain
22 runs, Lab 000, Artificial Zoo, with the Dragon most popular
16 runs, Lab 00, Pendulum
10 runs, Lab 17, Cryptographic hash
9 runs, Lab 2, Dynamic diffusion and reaction in a porous solid catalyst
8 runs, Lab 8, Plug Flow Reactor + Heat Exchanger
7 runs, Lab FF, Forest fire
6 runs, Lab 0, Swarm of Objects
6 runs, Lab 16, RSA encryption
2 runs, Lab 1A, Level Control, two tanks in series
2 runs, Lab 4, Reactor T control with Tj
2 runs, Lab 6, Heat Exchanger

Getting started with Javascript

The interaction in our Web Labs is programmed with Javascript. Javascript is not as easy to code as is LiveCode, the language of our desktop app. But Javascript has other advantages: free to use, web browsers have Javascript interpreters built-in which execute Javascript very fast, and you can leverage the Javascript you learn to do many things with web pages.

Quick: How to write Javascript and display in web browser

1) Use a text editor like Apple’s TextEdit to create an .html file, e.g., mytest.html

2) In that file, write starting and ending html “script” tags, <script></script>, then enter your Javascript code between those tags. The script tags separate your Javascript code from the html in the file. Save the file.

3) Open that file using your web browser and see the output of Javascript document.write statements which you have typed between the script tags, e.g., document.write('hello');

4) After each change in your .html file, save the file and reload (refresh) the browser page to see the changes.

5) To view the output of the console.log statements, open the browser’s Javascript console. In Safari, select Develop > Show Javascript Console ( command-option-C ). New output appears at the bottom of the console window in Safari.

6) Example of a minimal .html text file to run Javascript in your web browser. All you need in the .html file is a script tag with your Javascript:

  // two slashes start a comment to help you remember what you are doing, does not execute
  document.write('hello'); // display output on web page
  // values between ' ' or " " are "strings" of text characters
  let aa = 3; // save value 3 in memory location you declare and label aa (aa is a "variable")
  console.log('minimal JS example, aa = ' + aa); // display in browser's Javascript console
  // now that a value is stored in new variable aa, we can use the value by using aa
  let bb = 2*aa; // multiply 2 times the value in aa and store value in new variable bb
  document.write('<br> bb = ' + bb); // note html line break tag <br> to start new line

7) console.log and document.write are standard, built-in “functions.” A function is a block of code to which you can supply input information within the parentheses (e.g., ‘hello’) and returns some output. You can write your own functions so that you don’t have to repeat the same code in different places.

8) You can view the html code of any web page in your browser. In Safari, select Develop > Show Page Source ( command-option-U ).

Here is a link to my examples of interactive controls https://richardherz.github.io/example-controls/index.html

The easiest way to view the code for one of these examples is to go to that example’s code at https://github.com/RichardHerz/example-controls

There are many sites that teach Javascript. Javascript.info looks good. W3schools is a great Javascript reference and place to learn other web technologies such as HTML, CSS, and graphics.

Evolution of Reactor Lab

Reactor Lab celebrated its 27th anniversary in March 2020. Starting in 2003, the desktop version was integrated with the Internet, with advanced features for that time.

These advanced features included automatic download and installation of updated files for off-line work, a conference (chat) room for discussions within Reactor Lab, and the ability to run process simulations involving local units and units at other locations in the same system. At that time, one could not assume constant connection to the Internet, as we do now. Once, from San Diego, I had a three-way discussion with a person in Michigan and a person in Turkey in the conference room.

I retired from the University of California at San Diego – UCSD – in 2014. Since then, my interest has shifted from the desktop version, which was constructed with LiveCode, to the HTML5-based Web Labs at this site.

This shift has been for a number of reasons, including omnipresent Internet connection in much of the world, almost everyone has access to the web and a web browser without having to download an application file, and the fast speed of Javascript built into web browsers.

That said, desktop apps have advantages over web pages such as saving data files to disk. In Web Labs, one has to go through an extra step to copy text from a popup window and save to a disk file. There are so many features that were built into the desktop Reactor Lab that duplicating them all in HTML5 might not happen.

I used to post standalone application files for Windows and Macintosh. With the evolution of operating systems and the evolution of LiveCode, I no longer wish to make the revisions necessary to build standalones.

However, one can continue to use the desktop Reactor Lab on Windows, Mac, and Linux. This can be done by opening Reactor Lab in LiveCode, version 8.0 or higher. LiveCode can be obtained at LiveCode.com. Download the free, open-source version of Reactor Lab from my github site at github.com/RichardHerz.

Instructions for how to do this are posted at the Download tab.

Web Labs now have the capability of desktop Reactor Lab

With the addition today of Web Lab 13, batch reactor with n-th order reaction, Web Labs now have examples of all the types of labs and plots in the desktop Reactor Lab.

In Dynamic lab types, the simulation runs continuously in time, with the student being able to change inputs during the simulation. In non-dynamic labs, individual experiments are run, which produce one or more plots for that experiment. In quizzes, such as the current Lab 7 Quiz, students can run and analyze experiments to determine unknown input values.

Plot types include profile, single, strip, and color canvas. A profile plot shows how an output has changed with time or space. Single type plots show results of non-dynamic experiments as x,y points as inputs are changed between experiments, with the student being able to select which inputs and outputs are shown on both the x and y axes.

A strip plot is like a lab strip chart (do they have those anymore?) which continuously scrolls in time as outputs are plotted. A color canvas plot shows how a color-coded output varies in two dimensions, e.g., time and space.

Graphics can also be dynamically drawn with SVG graphics, such as in Web Lab 00, a simulation of a pendulum. Several labs change the size and color of HTML div elements to show fluid levels and concentrations changing.

Do you have any suggestions for new labs? Please let us know by sending email to

NASA names headquarters after ‘Hidden Figure,’ engineer Mary Jackson

NASA names headquarters after ‘Hidden Figure,’ engineer Mary Jackson


‘Hidden Figure’ is a double pun which refers to the Black women ‘figures’ (notable persons) who contributed to the manned space program at NASA by ‘figuring’ (computing numbers). It also refers to the movie ‘Hidden Figures’ about these women.

See our earlier blog posts about these women in the blog category: women in engineering.