We Demand Data – the story of Lucid and Eduction [1700 views]

Power concedes nothing without a demand.
-Frederick Douglass

When the late Ed Ashcroft and I invented Lucid, we had no idea what we were getting in for.

Continue reading

Posted in Uncategorized | 1 Comment

Hyperstreams – Nesting in Lucid [1000 views]

When Ed Ashcroft and I invented Lucid, we intended it be a general purpose language like Pascal (very popular at the time.)

Pascal had while loops and we managed to do iteration with equations. However in Pascal you can nest while loops and have iterations that run their course while enclosing loops are frozen. This was a problem for us.

Continue reading

Posted in Uncategorized | Leave a comment

PyLucid – where to get it, how to use it [100 views]

Recently there was a post on the HN front page pointing to a GitHub repository containing an old (2019) version of the source for PyLucid (I don’t know who posted it). It generated a lot of interest in Lucid but unfortunately the 2019 version is crude and out of date and probably put people off.

I’m going to set things right by releasing an up to date version of PyLucid (Python-based Lucid) and up to date instructions on how to use it to run PyLucid programs. The source can be found at pyflang.com and this blog post is the instructions. (The source also has a brief README text file.)

Continue reading

Posted in Uncategorized | Leave a comment

Shennat dissertation: Dimensional analysis of Lucid programs [380 views]

I recently graduated my 17th and last PhD student, Monem Shennat. This is the abstract of his dissertation with my annotations (the abstract of a University of Victoria dissertation is limited to 500 words).

The problem he tackled was that of dimensional analysis of multidimensional Lucid programs. This means determining, for each variable in the program, the set of relevant dimensions, those whose coordinates are necessary for evaluating individual components.

Objective: to design Dimensional Analysis (DA) algorithms for the multidimensional dialect PyLucid of Lucid, the equational dataflow language. 

Continue reading

Posted in Uncategorized | Leave a comment

Portrait vs Landscape – more than meets the eye [2000 views]

I have some theories about these modes – for example, cropping one into the other. I tried them out on the Monna Lisa and … read on!

Continue reading

Posted in Uncategorized | Leave a comment

Tech Talks Don’t Have to be Boring; follow these simple rules. [3000 views]

Recently my PhD student gave a rehearsal of their 20 minute oral presentation. It was ok. Average.

In other words, (seemingly) long, and boring. Like so many people’s technical talks. What can you do?

What you can do is follow these simple rules I’m going to give. They’re not all my own, you can find most elsewhere. The problem is, most people think they’re impractical and don’t follow them. Result? Bo-ring!

Continue reading

Posted in Uncategorized | 1 Comment

Stretchtext or Bust – Ted Nelson’s unrealized vision [1100 views]

Two cheers for the World Wide Web
— Ted Nelson

Ted Nelson invented hypertext but not the web. He thinks it hasn’t fulfilled its real potential, and I agree.

One of his good ideas that the web doesn’t really support is stretchtext – text that expands or contracts in response to the reader’s (dis)interest.

Continue reading

Posted in Uncategorized | 2 Comments

Type Checking as Calculation [700 views]

As I’ve said before, PyFL is functional programming for the rest of us. (It’s available at pyflang.com.)

PyFL now has type checking – without type declarations. Instead the type is produced by evaluating the program over the domain of types.

Continue reading

Posted in Uncategorized | 2 Comments

Topology and Computability[3400 views]

Readers of this blog are familiar with notions of computability – basically, the question is, what can machines do without human assistance? And you are familiar with machines. Electronic ones of course, but I always like to think of machines as composed of gears, levers and pulleys.

Topology? That’s another story. Rubber doughnuts being continuously stretched but always preserving that hole. Or calculus and differential equations.

So what’s the connection? You’d be surprised

Continue reading

Posted in Uncategorized | 1 Comment

PyLucid : Calculating Dimensionalities with Yaghi Code [850 views]

When Lucid first came out decades ago it was a very primitive language. It had only program variables and built-in operators and functions, like next or fby. Users could not define their own functions (or “subroutines” as they were often called). Yaghi code would change all that.

Continue reading

Posted in Uncategorized | 1 Comment