# Blog

### Creating multithreaded programs with Gaea

In many applications, there is a need to run something in a different thread. For example, when a computation takes a lot of time to complete, and you want to regain control of your program, or in GUI applications where the main thread is responsible for the GUI, and some other functionality needs to run independently. This can be achieved by making the application multithreaded. Gaea , being a high-level programming language, offers also capabilities for creating multithreaded applications. This is achieved by using the threading package.

 (require :...
Category:

### New wiki

We have a fresh new wiki about mathematics, physics, engineering and computer science! It is still in its first steps but we are working to provide more information on these vast subjects. The main categories of the wiki are calculus of variations, optimal control and optimization, differential geometry, probability theory and stochastic processes, statistics, numerical analysis, computer science, mechanics of particles and systems, mechanics of deformable solids, fluid mechanics, classical thermodynamics, and heat transfer, and operations research and mathematical programming.

Category:

### An introduction to unit testing with Gaea

Unit testing is, according to Wikipedia, a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use. Let's see how we can use Gaea , in order to apply unit testing to our code.

First of all, we say that we need the unittest package:

 (require :unittest)

Afterwards, we define our demo function that we want to test:

 (defun add-2 (n) (+ n 2...
Category:

### An introduction to GUI programming with Gaea

In a previous post we have seen a "Hello, World!" in Gaea for the command line. Now we are going to repeat our toy program with some GUI magic. First of all, we have to tell Gaea that we need our GUI library, ltk, with writing:

 (require :ltk)

Afterwards, we define a new package for our new project and use the ltk library, in order to avoid writing ltk before each ltk function:

 (defpackage :hello-world (:use :common-lisp :ltk)) (in-package :hello-world)

Now, we are going to define a function which creates...

Category:

### Cayley-Dickson construction

The Cayley–Dickson construction produces a sequence of algebras over the field of real numbers, each with twice the dimension of the previous one. The algebras produced by this process are known as Cayley–Dickson algebras, for example complex numbers, quaternions, octonions, and n -ions in general. Gaea offers a new capability for generating such Cayley-Dickson algebras for general n . Closed-form expressions for the corresponding operations are derived algorithmically and translated into code. Applications of Cayley-Dickson algebras may include quantum theory and supersymmetry.

...

Category:

### Process Control and Measurement

Delta Pi Systems is extending the range of its hardware in the domain of process control and measurement with devices for flow and pressure measurement. In flow measurement applications we offer several solutions for pressurized pipelines and for open channels. Electromagnetic flow meters, ultrasonic transit time and differential pressure measurement for both liquids and gases are available. Moreover, gauge and absolute pressure transmitters are suitable for continuous measurements on liquids.

Our hardware solutions can be integrated in automation and control systems , both for...

Category: