RSRE Flex: reviving an innovative, remarkably odd British operating system that almost nobody knows
Watch on YouTubeVideo summary
The video explores the story of RSRE Flex, a remarkably unique British operating system developed in the 1970s at the Royal Signals and Radar Establishment (RSRE) in Malvern. The speaker aims to revive not just the software itself but the innovative spirit that produced it, tracing its origins to a convergence of advanced mathematical concepts and computing theory from that era. Central to Flex's design was the integration of Ian Curry's concept of "praiseworthy procedures," which utilized lexical closures to create private universes for data storage, alongside the security model of capability-based access control. This approach treated resources like files as unforgeable tokens rather than relying on user identities, a paradigm that was far ahead of its time but ultimately limited Flex's widespread adoption due to its complexity and the lack of mainstream support for such features in the 1980s.
The technical foundation of Flex relied heavily on the ALGOL 68 programming language, which was known for its orthogonality and powerful features like strong typing and anonymous procedures, though it was notoriously difficult to implement. The RSRE team successfully compiled ALGOL 68 when others failed, leading them to build a custom hardware platform called the PERK computer, designed with programmable microcode that could execute complex instruction sets tailored for Flex. The operating system itself featured an idiosyncratic user interface where data and code existed as typed values within closures, navigated via hyperlinks known as "cartes" rather than traditional file systems. This environment allowed users to manipulate programs directly in memory without dealing with physical files, compiling code through a series of visual transformations that resulted in new references to the compiled output, effectively blurring the line between data and executable instructions.
Despite its technical brilliance, Flex remained largely obscure outside of small academic circles and defense research communities, leaving few traces in modern computing history. The speaker recounts the personal journey of recovering original 8-inch floppy discs containing the system from private collectors after decades of dormancy, highlighting the physical challenges of preserving such fragile hardware from the 1970s. While concepts like lexical closures and capability-based security have since become standard or re-emerged in modern contexts, Flex's specific implementation never gained traction due to intellectual property hurdles involving licensed numerical libraries and unclear distribution terms from the original defense laboratory. The talk concludes with a call for assistance in clearing these legal barriers so that this innovative system can be shared more broadly, celebrating it as a testament to a visionary but ultimately isolated chapter in the history of computing.
Read the full video transcript
All right, thank you. Uh, thank you very
much. Um, okay. So, uh, as usual, I'd
like to start my talk with a disclaimer.
And, uh, this time the subject matter is
entirely responsible for the caveat. As
we sit here in this big tent, I observe
that the talk title has the word revival
in it. And even though this mainly means
the actual recovery and usage of the
flex environment itself, I'm hoping
today to try and revive some of the
spirit of the complicated network of
ideas and influences that gave rise to
this unusual vision of computing. All to
say that we've got a bit of a journey
before we get to Flex itself. I'm going
to be talking kind of fast to cover the
bases and taking cues from a script. And
I'll also maybe punctuate chapter
markers with an audio effect which I
hope is helpful.
Uh folks, I'll do my best. Okay. So, for
the past year, I feel like I've been
using a computing platform from another
universe, and I'm very excited to share
it with you now. Uh in fact, it's not
really from it's not from outer space.
Uh going somewhat against this year's
EMF theme. It's actually from about 5
miles away that way. At that place in
the 1970s, a bunch of interesting
threads in computing came together to
yield a very different vision of what
using a computer could be like. And
starting from this intersection, let's
begin with that firmst of foundations,
the mathematical realm of programming
language theory.
In in particular, we begin with this
humble typewritten technical report from
1982. The author is Ian F. Curry, a name
for us to remember. This paper describes
a programming language characteristic
that Curry found especially pleasing.
And in the reading of it, you get a
sense that the pleasure itself was as
motivating to him as the practical
benefits. I'll try to convey the idea as
follows. Now, not everyone is a
programmer, but I hope we can all see
what's going on in this function that
takes in a number x and gives back that
number plus three. And using this
function is very simple. Plus 3 of 12 is
15. + 3 of 20 is 23. But suppose that
rather than typing in very similar
looking functions for plus five or plus
two or plus a million if we wanted them,
we want the computer to be able to make
these functions to order. All we want to
do is give the computer the number we
want to plus and the computer should
give back the function that does it.
This saves us the work of typing very
similar functions over and over. And
what we're looking for is a function
that makes a function like this one.
It's called Plusmaker. and it takes in
uh this number n and it makes a function
that returns x plus n. And let's use it
now. So when we make plus two, we say
plusmaker of two that gives us this plus
two function. Plus maker of five gets us
a plus five function. And then we can
use those as as shown. Plus 5 of 14 is
19. Plus two of six is 8. All good. Now
what Curry's paper is so excited about
and what is actually a fairly subtle
concept is this. Look back at our
plusmaker function factory. The value n
that we give to plusmaker is always just
called n. But plus five remembers that n
was five when it was made. And this
doesn't change or get replaced when we
call plusmaker again with n equal 2.
It's like there's a separate history
known to each function uh that plusmaker
makes private universes uh enclosed
within the hidden memories of plus 5 and
plus two. Now programmers and computer
scientists in the audience are wondering
why I'm not using the official name for
this feature, lexical closures. Well, I
didn't because Curry didn't. He called
functions with these private universes
praiseworthy procedures. As you
as you may have noticed, this paper is
called in praise of procedures. Now,
lexical closures had already been
described in 1964 by bio icon Peter
Landon. I don't know why Curry didn't
use the term or reference related work
here, but he wasn't exactly a latecomer.
It would be another 10 or 15 years
before programming languages unabashedly
proclaiming this feature emerged into
the mainstream and Curry had a wish list
in the meantime. Praiseworthy procedures
could be very useful for many things. In
particular, their private universes
could be secure places to store data.
Okay. Now, if you were interested in
featureful programming languages for
large software projects in the 1970s, a
few options were of interest. One
noteworthy candidate was Al Gol 68. A
language
[laughter] some fans a language with
some in with an interesting past. Most
people who know about Alol will be
familiar with 1960s Al Gol 60. A
language that pioneered a kind of basic
block structured form we know well
today. For most programmers this simple
program is very easy to understand.
Well, to make a long and fascinating
story much shorter, the people working
on the successor language took some huge
swings. Reading retrospectives, you get
the sense of academic computer
scientists gazing out over the
broadening intellectual horizon of
computing and trying to work out one
language that could express every unique
grain of the capability and elegance
that they were beholding there. And to
their credit, their feature instincts
were largely correct. Algo 68 has loads
of modern features including strong
descriptive typing, anonymous procedures
and lambdas, first order procedures like
our plusmaker uses, array slices,
operator overloading, and a lot more.
And there are even some things we
haven't quite found a use for yet. For
example, identifiers like variable names
can have spaces in them. And and and
look how you can decide which variable
you want to assign a value to. This is
part of Alol 68's stringent devotion to
orthogonality or being able to use most
language forms in most settings. But
Alol 68's development was famously
neither easy nor smooth as described in
the excellent a history of Alol 68 by CH
Lindsay specifying the language occurred
over a series of intense and sometimes
acrimonious meetings in these locations.
See, Algo 68's advanced features were
mooded at a time when computer science
did not really have the language to
discuss those features that we had
today. Moreover, when its inventors
attempted to specify these features
formally, many people found their
notation extremely difficult to
understand. Things got to the point
where in December of ' 68, several
members of the team developing the
language authored a minority report that
deemed the entire enterprise a failure.
Now, ALG 68 did eventually get
specified. It's all limited use, notably
in the UK and the Soviet Union. Today,
there's a very modest revival, including
a GCC front end that debuted only last
year. You'll almost get the sense that
the programming world has caught up to
its ambitions. But the conclusion of
many during its develop development was
that Algo 68 was a programming language
so complicated, described by a
specification so recendite that nobody
could possibly write a compiler for it.
But there was one shop that did and it
was about 5 miles away that way.
Oops, too far. The Royal Radar
Establishment was a postmore UK UK mod
research lab in Malvin that carried some
of that era's momentum in basic and
applied science research. Becoming the
Royal Signals and Radar Establishment in
1976, the lab made some noteworthy
advances in sensing, communications, and
solid state physics. Think of a smaller,
slightly more defenseoriented Bell Labs
and you won't be far off. We we owe the
liquid crystal display to them among
other things. Just like Bell Labs, RSRE
had people working on computing. And you
may have caught that you've already met
one of them. In June 1970, the same Ian
Curry and his colleagues Susan Bond and
John Morrison stunned the Al Gol world
by demonstrating the first working Alol
68 compiler. People couldn't believe it.
They sent code to Malver for them to
compile just to prove it. Now, if I'm
not mistaken, these developments and
later flex took place within the maths
and computing group under mathematician
and brilliant amateur clock maker Philip
Woodward based on an account of someone
who was there. The lab sounds convivial,
collaborative, and rigorous. Its small,
highly talented, and very well-educated
membership, all dedicated to their work.
The atmosphere was academic with
facilities including single person
offices, chalkboards, and a common area
for tea twice daily and discussions
about work and so on. Two more names we
must now introduce into this estimable
context are Michael Foster and Peter
Edwards. Additional Flex inventors and
developers, and there were others as
well, but by now you have heard many of
the central figures. Although the
biographical information I found has
been limited, I've been able to learn a
bit more about their personalities from
my witness. I'll lie details since none
of those traits seem to have influenced
Flex directly. Though I will quote this
person in saying I feel privileged to
have known them all. Well, for all of
its academic trappings, we must remember
that RSRE was a defense laboratory and
therefore security would have been an
acute concern in any computer design
originating there. For this reason, we
can be pretty certain that one recurring
topic in the maths and computing group
T-room was
two part.
These days, most computer security is
based substantially on identity. What
you're allowed to do is based on who you
are. Identify yourself as a specific
individual or role, and the computer
grants you access to the resources
associated with that persona or
affiliation. We're all familiar with
logging into a computer or website.
That's identity based security at work.
But there are alternatives. Think of a
house key. The security it offers isn't
based on who you are, but rather whether
you have possession of the key. You can
lend the key to someone else and then
they have the same access to your home
as you do. Well, computer security can
work this way, too. And while some of
you may be thinking of things like
security tokens and UBI keys and so on,
those are usually about ways to confirm
your identity, a house key isn't like
that. It provides access to one
resource, your house, uh, for whoever
holds it. And there's a computer
security approach where, like a house
key, resources are secured behind
special keys. Present the computer with
the key and you get the resource.
Without the key, you don't get it. It
doesn't matter who you are. The computer
doesn't really track identities. These
keys are called capabilities. And the
paradigm is called capability based
security. For programmers, capabilities
can be thought of as unforgeable
pointers. Versions vary, but it's not
unusual for them to be bundled with type
information and memory bounds. Well, I
think it's a bit of a shame that this
approach isn't more popular, partly
because the existence and possession of
powerful access tokens seems like an
excellent mcguffin for sci-fi caper
films. But it's not an easy system to
set up. You need to make certain that
the ability to make a capability is
strictly controlled or else anyone can
make their own and gain access to
anything. So usually this is done with
dedicated hardware. And this is what
brought us such famous systems over the
years as IBM system 38 or Intel's
disastrous APX 432 and closer to home
Cambridge Cap and the PI system 250. We
all know and love all of these. Anyway,
finally,
oops. Yeah, at last we've laid out some
key background and concepts behind Flex.
It's now the late 1970s, and Ian Curry
is joined by those fellow researchers,
Foster and Edwards, in pursuing a vision
of computing that combines all of these
things and more. What if you had a
computer whose fundamental instruction
set architecture was ideal for ALOL 68,
but not just Alol 68. Algo 68 with
praiseworthy procedures and their
private universes. Regular Algo 68 for
all its features didn't have those and
with added security and control of typed
capabilities ensuring that resources
could only be accessed by certain means
and in certain ways. And on top of all
of this, Curry Foster at L sought to
remove the perceptual distinction
between data in memory and data on disk.
No files anymore. I'll try to show that
later. There had never been anything
like it. And that's why the RSRE had a
dedicated multi-user minicomp computer
made under contract by Logica. They
called their concept and the computer
the flex machine. And for its time, this
was a pretty nice computer and it
realized much of what the research team
had aimed to achieve. Part of how it did
this was that loads of sophisticated
functionality was built into the
microode that implemented the machine's
instruction set. Okay, microode.
A sidebar here to explain this important
term. Think about how the atoms of your
of your physical acts, picking up a
glass or standing up or taking a step.
Think about how these are actually a
symphony of muscle contractions and
relaxations that some part of you
learned in your earliest years, even
though they're probably completely
opaque to you now. Well, the atoms of
computer programs, instructions like add
these numbers, move this data into
memory, talk to that peripheral. These
two are a subliminal symphony of
transactions between numerous discrete
elements inside a computer processor.
Not all CPUs do it this way, but for
those that do, microode is like the
orchestral score for these symphonies.
And the flex micro flex machines
microode symphonies were especially rich
and complex. Anyway, I'd say more about
the logic built machine, but it didn't
last long as flex development moved on
to successor systems. This is why I need
to introduce
Okay. perk.
It's 1978 in Pittsburgh and Three Rivers
Computer Corporation is a hardware
startup that's fed up with Xerox's
failure to bring its revolutionary
vision of modern computing to market. So
instead, they make their own Xerox
Altoike computer called Perk. To many,
this is the first workstation computer
available for commercial sale. It has
got a lot of the fundamentals of modern
computing. There's a pointing device and
a high resolution bitmap display.
There's even sound. But most attractive
to the flex folks at RSRE, it has
programmable microode. You can design
and upload your own processor defining
symphonies, establishing the set of
atomic instructions it can follow. Three
Rivers was probably lucky to partner
with UK computer giant ICL who helped
them make their hardware slightly more
practical for commercial sale.
Slightly.
This plus the UK Science Research
Council advocating workstation competing
with perk probably accounts in part for
how Foster Curry at Al wound up using it
as a successor to the bespoke logica
computer. Today, there are a few of
these systems still knocking about. As a
rule, they are very difficult to keep
running. The logic is spread out over
more than 600 discrete IC's, many
running close to their maximum operating
frequency. if any goes marginal as they
are want to do after about 40 years. The
computer ceases to work and hours and
hours of intense hardware
troubleshooting await you. [laughter]
All perks have a numerical counter
display for power-on diagnostics. Each
increment asserting that another part of
the computer is still working. Perk
usage includes a good amount of flipping
the power switch and watching the number
count up in a spirit of silent prayer.
So, let's do that now.
Okay. 10 past fundamental processor
checks, but we're waiting. Where's the
hard drive? Can't get to the hard drive.
Screen's still blank. 14. 14. Oh no,
there's no hard drive. Well, uh, maybe
it's spun up now. Hit reset again. Okay,
now we're cooking. Memory checks. Okay,
waiting for a boot key. And up we go.
And yes, Flex is booted. Here it comes.
Hey,
welcome to RSRE Flex everyone.
[applause]
So, Flex starts out idiosyncratic right
out of the gate. Let's log in.
The syntax is a little funny, and that's
because logging in amounts to executing
a procedure that takes no arguments. a
praiseworthy procedure. Your entire user
experience and all of your data lives
inside the closure, the private universe
of a procedure whose name is your name.
Now, some weird stuff happens when you
execute the call, but once you're in,
you're sitting in a text editor. You can
type things like normal, and not very
much happens, but that little mouse
button diagram hints at ways to navigate
beyond a single page. There are spe
special keyboard keys, too. I'm going to
use one now on that bit of text that
says tutorial. It's the same one I used
when we logged in and it's called the
obey key.
Okay, not a big change. The word is now
surrounded by a box, but it's actually a
huge difference. As far as the interface
is concerned, the text is no longer
there. It's been replaced with what you
and I might call a hyperlink, but what
Flex calls a cartou.
This is an illusion to the ancient
Egyptian method of denoting royal names
in writing, which was to surround them
with this oval shape with a line tangent
on to one end.
Pointing and clicking with your examine
mouse button. I apologize for the
panning. It can't be helped. Um, but
anyway, what that does, uh, it takes you
in this case to the tutorial, which is
just one of several online documentation
facilities. All of Flex's docs, bar the
install install instructions, are
online, and they are extensive. The
tutorial gets you started with editing
and navigation which is unique and can
take some practice and goes all the way
to developing here. What the keyboard
keys do for example. Well, returning now
to the starting place. Uh let's do a bit
more typing. So let's do that. Okay, I'm
now going to type one, two,
uh three.
You never guess four and five. Okay.
Yeah. So, um um yes, as mentioned, we're
just in a text editor, but the obey key
causes your command line to be evaluated
by the command line interpreter. It's
not really like a conventional command
line, though. In Flex, this facility is
mainly for building values like the one
I just typed. Watch what happens when we
press obey.
Cartou is everywhere, just like when we
logged in. Uh let me make a duplicate of
this and then press a special key. Let's
hope I remember how to do that. Yes.
Okay. And now I'm going to press the
mode key uh keypad one. Okay. Uh here we
now see the type or mode of these
values. Cartes are typed. But let's go
back and examine the structure we typed
before. So there we go.
Here it's behaving less like a
hyperlink. We're instead taking apart
the structure and seeing the values
inside.
So cartes are typed references to
values. Be they numbers or text data or
source code or what have you. typed
references. Cartoues are visual
representations of capabilities. Perhaps
this is why Flex's principles never cons
never never themselves characterize Flex
as being hypertextbased. Maybe they felt
it was more general than that. Well,
enough messing around. We should edit
some code. Uh the perk emulator I'm
using has some limitations. It can't
write data to disk yet. So, I've
prepared an example on my real perk
ahead of time. It's called my EMF stuff.
We're going to obey it. And now we're
going to examine it. Okay.
In this document, I've laid out a kind
of unrolled experience of writing and
testing some code. The first cart at the
top brings us to the source code. Note
that there's no file name here, just a
link. You don't really think of files,
just values. The text inside the cart is
arbitrary. It's not a file name. Anyway,
let's give it a quick look. And it's
just a simple algo 68 program. It just
adds up numbers in a list. Well, uh,
very good. We want to compile it. And so
to compile something, uh, what you do
is, uh, you copy your cartou, or rather
you don't copy it because you're not
unrolling it. You're just editing it.
Anyway, you apply the alol 68 procedure
to it. Uh, to the cartou that points at
your code. The exclamation point, by the
way, means apply procedure. There are a
few more steps after that to get a
reference to the compiled procedure
itself. But note that each step results
in a new cartou that refers to the
result of that step. Ordinarily, you
would replace the text inside to avoid
all of this like deeply distracting
nesting. Uh but then finally at the very
end here, we've copied uh that procedure
referencing cartou. Uh and now we can
apply it to some arguments. So let's
just do that. You've guessed right.
We're going to say obey.
And off it goes. As always, the result
is a cartou. So we have to examine it to
see what it refers to. Sure enough,
thankfully it's 108.
[applause]
Okay, one final thing to show. Uh we'll
make a new window cuz uh Flex has a
tiled window manager as you can see. Uh
and we're going to open one final thing.
Position that there and say doc and
obey. There we go. Time to examine that.
Yeah. Uh okay. This is your table of
contents of system modules. Code your
program can call. And you can inspect
pretty deeply. And what I'm hoping to
show you is in here. I guess interaction
with programs. And this is another list.
And we're going to go to split window.
Okay. Uh so this is system source code,
but but look at the look at the top
here. Uh if you want to use code from
another module, you don't say include
this or import that. You just stick the
module's cartou at the top of your
program. Yeah. So let's sum up. within
the hidden universe of our own
praiseworthy procedure. We're using a
hypertext editor to construct and
manipulate strongly typed values,
including programs whose references are
represented graphically as type setable
visual handles called cartes. And that
is scratching the surface of flex.
Folks, I'm really not aware of anything
else much like it, neither now or in
1985 when it was made. Maybe list
machines. I don't know. But let's now
give our simulated perk a rest and talk
about.
So what goes on inside the hardware of a
computer designed to realize everything
we've just seen? What do the actual
bits, byes, and operations look like?
Well, here's a taster.
Most data is grouped into 32-bit words.
Your most basic data numbers all have
this one bit at the very end set to
zero. That means this word is not a
pointer, not a reference to other data.
Down at the bottom, we do see a pointer
and that bit is there one. Only the
hardware is able to see or set this bit.
Note [snorts] also that pointers have a
handful of bits that say what type the
data is. But there's more to
capabilities than that. References to
vectors and arrays include dimension
information, and procedure references
are this complicated data structure.
Studying this diagram will teach you how
Flex makes its procedures praiseworthy
in hardware. Here are some of the
fundamental machine instructions uh that
binary program code in Flex is made of
adding comparisons and so on. Now if you
look you may wonder what this U business
is. Flex uses a stack machine as well as
a single register U. It's not like most
registers we know. U stands for
universal. It can hold basically any
data structure of any size.
Uh flow control uh flow control
instructions are pretty high level.
They're a good match to Elgo 68 code,
but keep looking and you'll find some
increasingly esoteric instructions like
these four for interfacing with a laser
printer. All of this made for a pretty
compact OS kernel. And uh they were
proud of this. Well, there's a lot more
to show, but I should probably start
wrapping up.
So, did Flex ever make it outside of our
research lab in Malver? Well, the answer
is yes. Starting in 1985, you could
contact the RSRE and under terms that
have so far been lost to time, get an
evaluation copy of your own. It came to
you on about 15 8in floppy disc, which
is what the perk used for uh removable
storage. As best I can tell, Flex made
it to a few educational institutions,
among them the University of York. Flex
was relatively absent from the
scientific literature, however, and it
had little influence on the academic OS
community.
Flex folks didn't stop with Flex.
Meanwhile, Curry and Foster went on to
create 1015, a kind of code for programs
that's independent of the computer that
runs it. Uh, this effort was useful for
building compilers and a project called
Tendra carries on today in a relatively
limited way. But beyond that, Flex left
few traces. Praiseworthy procedures are
basically expected of any new highle
programming language. uh capabilities
fell out of fashion in the9s but have
started to reemerge as the modern
internet and mobile world has revealed
the limitations of identity based
security. Hypertext obviously became a
big deal but Flex had very little to do
with it and Curry and Foster have passed
away both unfortunately although Susan
Bond and a few other uh RSR and Flex
people from uh from around that time are
still around.
Well, it's pleasant to wonder what might
have happened if Flex's less popular
concepts or its user interface notions
made it into the mainstream. I do have a
few thoughts on this, but I'll probably
have to let you imagine on your own what
it would be like. Uh, I will say if
nothing else, uh, I'd much rather give
uh, an AI a whole bunch of capabilities
rather than have it actually impersonate
me.
Well, for most of the century, Flex was
remembered by a handful of RSRE related
people and small numbers of fans of the
Perk computer. For the latter, it was
this little known operating system that
some people had maybe heard of or knew
someone who had used it. Well, I'm a
recently minted Perk weirdo. And as
other weirdos urged me into the quest, I
managed to find floppy discs containing
flex in the hands of a couple of private
collectors. After months of preparation
and practice, I succeeded in archiving
many of these discs using a setup that
connects an 8-in floppy drive to a
modern computer for low-level imaging.
For those in the know, the drive is a
Tandon TM848-2 floppy drive, probably
from about 40 years ago. And I'm using a
grease weasel as my imaging device. This
shot and the next are POV images of me
finding flex media and artifacts in the
back shelves of one of these
collections. You can imagine how excited
I was about this. But here's another POV
image that illustrates some of the
things you encounter in a recovery job.
There's a beautiful mold specimen right
there. Altogether, I think I probably
traveled about a thousand miles over
multiple trips to get what we have now.
And if anyone here has a line on more, I
am glad to tack on another thousand.
Ding.
There's little I would like to do more
than share Flex with everyone here.
Emulator trouble notwithstanding. It is
straightforward to install and
experience. But this is where I have to
ask people in the audience for help as
there are two substantial hurdles all
related to IP. We're working now with
the Malvin Radar and Technology History
Society to try and find anyone who has
any memory or details of the terms by
which RSRE made Flex available to third
parties. If there's the remotest chance
you might know anything about this or
know somebody else who might, please
talk to me. Flex also contains licensed
numerical library code made by numerical
algorithms group which is still around
and trading under the abbreviation NAG.
Uh or maybe you say NAGV. Either way, uh
some of this library code includes
source code. And while there probably
isn't much called today for Nag's Alol
68 uh products, numerical code always
contains precious magical constants that
people can sometimes defend rather
jealously. So if anyone here knows
anyone friendly at Nag who might be
worth reaching out to, I'd love to hear
from you. Until we manage to clear some
of these blockers, Flex won't easily
make it much further than the private
universe of my own hard drives and cloud
backups.
So, uh, so concludes my effort to cram
as much Flex as I can into 30 minutes.
It's hard not to reach the end of a talk
like this without some degree of regret
as there's so much more that I know
people here would be interested in. And
I I it's hard to feel like you've done
the topic justice. I haven't covered the
write once file store, for example.
Still, I hope you enjoyed what little
you saw. If you're interested to see
more things or try out Flex for
yourself, options are limited, but you
know, come find me. I'll be at the Q&A
tent after this, or uh dial RSRE, that's
7773 to summon me. Uh and you can try it
out on my laptop. And uh yes, I must
thank these uh very important people for
helping me discover and recover Flex and
the perk as well. And I must thank you
all for your kind attention. [applause]