Algo

Understanding Howdy Coder's Algos

Algo Overview

Algo's are the main programs meant to be built, controlled, and monitored by Howdy Coder. Algo programs work by stringing together various types of Data Sources and Actions to produce the required data sets or results.

This is done by forcing the data going in and out of the data sources and actions to be in specific formats so that they are compatible with each other. When the AI code generator builds functions for these pieces, it is aware of the requirements of each.

Both Data Sources and Actions share many parts in common, from the way they're functions are executed and how parameters are passed in. They also each have their own types and distinct differences that are important to understand

This page only goes into conceptual overview of an Algo and its parts, for creating, editing, controlling or monitoring an algo select the respective pages from the sidebar.

Data Source

Data Sources are the base building blocks of the Algo. Data Sources only take in parameters and not other data. They are meant to produce data to be used by the actions. Data Sources can be executed only one, such as for reading a file, continuosly based on a given time, or whenever there is user input. They come in two types:

  • User Input
  • Function

User Input

A User Input Data Source allows for the user to enter their own data while the algo is running. This allows for users to enter various pieces of data and have it be processed by actions. For example user inputs can be used as entering commands for the algo.

The types of User Input Data Sources and their descriptions are as follows:

  • Short Text - Line edit for inputting short text
  • Long Text - Text box for inputting longer form text
  • Number - Spin Box for inputting numbers
  • Mouse Position - Interface for inputting mouse position as (x,y) coordinates.
  • Speech To Text - Interface for listening to audio and transcribing to text using Open AI transcribing model. (Requires API Key)

Function

A Function Data Source executes a given function on a given time interval or once at startup. Parameters can be passed in that are also set in the creator. Functions are selected using the Function Selector. Where users can either paste code, use AI to generate code, or load from a library.

Function Selectors used by the Function Data Source are similarly used by the Action Function and Setup Functions for one familiar interface.

Action

Actions build off of Data Sources and other Actions by using the available data to produce the desired results. A key difference between Actions and Data Sources is that Actions take in a Data Set AND parameters to produce results. Like the Function Data Source, the functions in use in actions are selected by the Function Selector. The Data Set for each action is populated with the data selected during creation for the action. Actions come in two types:

  • Event - Produce more data
  • Trigger - Produce output

Event

Events take in a given data set of already produced data and run it through a calculating function to produce more data. A simple example would be if you had prices in the data set and an event that produced the moving average of those prices. Events are always supposed to produce more data.

Trigger

Triggers, similarly to events, take in a given data set and produce some sort of output that doesn't go back into the data set. Triggers have two functions, a calculating function and an output function. The calculating function determines based on the data if the output function should be run or not. The output function does some sort of external output functionality. An example of a trigger would be looking at some data set that contains commands. If the command has the word email, the calculating functions tells the output function to run and the output functions sends an email with the contents of the command.