Getting better, eh? – I thank the Canadian health care system.

On May 30 of last year I woke up in pain and barely able to get out of bed. Bad news, but this led to what was in many ways a wonderful experience.

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 [1000 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 | Leave a comment

Topology and Computability[3300 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 [800 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

Functional Programming for the Rest of Us – get PyFL Now! [6600 views]

It was developed in a secret lab and released, after which it spread rapidly. COVID? (maybe …). But I’m talking about the new PyFL interpreter. It’s finally available for the general public at pyflang.com

To make things simple, in the form of a zip file   –  I’ll put it  on GitHub if there’s enough interest.

Just read README.txt and follow the instructions. As it says you need Python 3, 3.10.1 being the latest  stable version. . It all should work straight out of the box. Continue reading

Posted in Uncategorized | Leave a comment

Unbeatable? Tictactoe in PyFL [1100 views]

I wrote a program to play unbeatable tictactoe in my experimental functional language PYFL.

(PYFL = Python based functional language; henceforth PyFL)

Of course writing a tictactoe player is hardly a major challenge, but I wanted to see how it turned out in PyFL. It worked out rather well, as you’ll see. It made good use of most of PyFL”s new features, especially variable binding operators.

Continue reading

Posted in Uncategorized | 1 Comment

Parametric Programming – an equational approach to OO and beyond [3500 views]

A very long time ago I had an interesting if flawed idea. The idea was to (optionally) replace instances of expression constructs with equations defining or referring to components of conventional compound structures. The special variables defined or used I called “pronouns” but now I prefer “parameters”.

I fixed the flaw … and in so doing discovered a promising new equational programming paradigm.

Continue reading

Posted in Uncategorized | 1 Comment