Current Engineering Project

I keep this engineering notebook more for my own use more than for any other reason. It's invaluable when trying to find a solution to a problem I know I've solved before. You are welcome to browse though it to see what it takes to build a SETI station a Cosmic Ray detector or a replacement brain component..

You can access earlier chapters from the main menu (Engineering | Notebook) or use the custom search below.

Google Search of SETI Net

Volume 14 Chapter 77

448 - Body Cleaning - 2020-10-30

After working with the Body Plan for a while I came to realize that I have a serious problem. Simply connecting body parts in the field results in a String List that most probable will not work. This is because the list is filled in the order that the user clicks on body parts and that may result is an output being sent to a sink before the source inputs have been filled. I have to automate the ordering process.

Ordering:

  1. Self references - remove these as they occur (Dendrite 1 to Dendrite 1)
  2. Block the following references: I think this corresponds to biology
    • Dendrite to Axon
    • Axon to Dendrite (this must be link to next neuron)
    • Axon to Soma
    • Soma to Soma
    • Soma to Dendrite
  3. Grouping
    • Steps to top
    • Scopes to bottom except don't move any Step to Scope entries
    • Dendrites after all steps
    • Soma after all Dendrites
    • Axons after Soma
  4. Group Order. The following in each group must be: inputs first then all outputs
  5. Second and following Neurons must be flagged somehow so that the grouping orders can be repeated.
  6. I will implement this to see if it solves the problems. Stay tuned.

447 - Stacked Steps - 2020-08-17

While building the Neuron simulator, I came to the place where I had to allow the simulator user to assign two or more outputs to a single dendrite input. This is trivial when the inputs arrive at different input time steps and do not overlap, but what if they do overlap. This is the solution to that problem.

This figure shows the 'scope output of two-step inputs connected to the same dendrite input and the resulting waveforms. This figure was constructed by capturing the scope once with the dendrite pass through set and once with it not set and then overladed with Snagit editor.
The curved line is the presented result of the calculation of the membrane voltage (Vm) over the 100 mSec step interval. Notice that the two-step functions are both set to an amplitude of 20 mV with one much smaller in width than the other.

Notice that Vm does not complete the 5 TM rise or fall time necessary to show a 99% trace. The difference is shown by the delta times d1,d2, and d3;

Algorithm

At points Ta and Tb, the algorithm enters the charging state and calculates:

  • delta = VsLast -Vm
  • Target = Vs - VsLast + delta

where VsLast is the last voltage input from the step function driving the dendrite and Target is the change in Vm necessary

During the charging state, the calculation is:

  • Vm = Target * (exp ... ) + VsLast

At points Tc and Td, the algorithm enters the discharging state and calculates:

  • delta = VsLast -Vm (as before)
  • Target = VsLast - Vs - delta

During the discharge state, the calculation is:

  • Vm = Target * (exp...) +Vs

446 - Moving to PHP v7.2 - 2020-08-02

My ISP eliminated the old, but working PHP version I have been using since dirt was invented. This removed some of the database mechanism I had depended on for so long and killed the web site. This is what is necessary to recover access to the databases.

For each page that accesses the MySQL database replace the current access with this: (Note: there are TWO mysql_close that need to be replaced on each page).

// --------------------------------------------
 require "../../script/login.php";
 require "$KoolControlsFolder/KoolGrid/ext/datasources/MySQLiDataSource.php";
 $db_con = mysqli_connect($db_hostname,$db_username,$db_password, 'setine5_seti');
 //echo ("KoolControlsFolder: $KoolControlsFolder");
 mysqli_set_charset($db_con, 'utf8');
 if ($db_con)
 {
   //  echo ("Connected");
 }
 else
 {
     mysqli_close($db_con);
  //  echo ("      --- NOT Connected ---    ");
 }
 $ds_stations = new MySQLiDataSource($db_con);
// -------------------------------------------

445 - Installing GENESIS Neural Simulator - 2020-04-25

I final decided I had to find a baseline simulator to use while I worked on mine. All the simulators require Linux, which I hate with a purple passion, but I finally got one to run under Windows.
If you want to use the GENESIS simulator under Windows here are the steps.

Install Cygwin on Windows 10

YouTube video at:

https://www.youtube.com/watch?v=QonIPpKodCw

Written instructions at:

https://github.com/lakelse/videos/tree/master/01-install-cygwin-on-windows-youtube

Install GENESIS:

Written instructions at:

https://techmoto.us/2018/11/16/genesis-simulator-install-windows/

Errata:

At the step 4 'Extract the Genesis source files'

$ cd /usr/local
$ tar xvsf genesis-2.3-Linux-bin.tar.gz // Wrong File Chose the Windows version.

444 - Delphi Frame - 2020-03-27

I can never remember how to build a new Delphi frame and add it to a project. Here is the recipe.

  1. Start a new project and get it running
  2. Then start a new frame with: File | New | Other | Delphi Individual Files | VCL Frame (This takes a few seconds so cool your jets)
  3. A new unit will appear in your Project. Rename it to something memorable like 'uTestFrame'
  4. Change the frames form to something memorable like 'TestFrame' and SaveAll | Close All

The to get the new frame in the palette do

  1. File | Open and navigate to the uTestFrame.pas file Open it
  2. Now with the blank frame form showning Right Click | Add To Pallette
  3. Then Change the Component name to something like TTestFrame (leave the leading T) and use 'Standard' for the palette page
  4. OK and your done

The new frame can be added to a project like anyother component

443 - Damn Caps Lock key - 2020-01-08

What were they thinking to allow this abomination to live on my keyboard. The only reason I can think to use it would be to scream at Trumpy over Twitter and I try not to do that as much now days.

Create a .REG file with this in it. Place on your desktop then double click it This REG file will defeat Caps Lock on Windows 10.

Windows Registry Editor Version 5.00; Created by: Shawn Brink
; Created on: April 13th 2016
; Tutorial: http://www.tenforums.com/tutorials/47206-caps-lock-key-enable-disable-windows-10-a.html
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,3a,00,00,00,00,00