Skip to content
Why is a raven like a writing desk?

Thoughts both confusing and enlightening.

Why is a raven like a writing desk?

Thoughts both confusing and enlightening.

it's old, but it still works!

elbeno, 22 February, 200729 July, 2007

Having played around with DosBox lately, I decided to do some more digging in my archives and found some stuff from the early 90s, pre-university era. Back then I was programming in QuickBASIC, which was awesome at the time. I found a half a dozen programs: a game of Yahtzee that I wrote and my brother and sister had loads of fun with, some typeins I converted from BBC Basic, early forays into texture mapping experiments and sprite editing, and a 7500-ish-line database program for tracking salesforce performance.

I wrote this last one at a time when my dad was regional director of such an outfit. We called the program “Activity”. Version 1 (I still have it) was written in FRED, a macro language in Ashton-Tate’s Framework (which, I am amazed to discover, is apparently still alive). Framework was one of those “integrated packages” that were everywhere until MS Office obliterated the market in the mid-90s. Activity version 2 was a rewrite in QB. It was simple, but in many ways it was ahead of its time – it could handle consolidating team figures, branches, etc, all the way up to the national figures, and it also offered the ability to track progress against goals. And it was much more stable than version 1, which was lacking in error handling. Version 1 was rolled out to the sales force, and some of them even persevered with trying to make it work. Version 2 was completed, but with one thing and another (not least, the direct salesforce portion of the company being sold) it never saw battle. I’m sure that such companies have since spent literally millions of pounds on software to do essentially the same function. But we were there first, in 1992.

So anyway, I dug it out, dusted it off, figured out how to work it again, and it still works! None of your Y2K bug, either – although it does seem to be coming to the end of its original commissioned lifetime – the last year supported is 2007. I was pleased to discover the 17-year-old me had actually commented the code and left it in a pretty readable state, too!

Anyway, since 7500+ lines is too much to post here, I’ll leave you with another snippet: a program I wrote to play Scott Joplin’s The Entertainer on the beepy PC speaker.

—

CLS
PRINT “Press a Key for Entertainment”
start:
DO
LOOP UNTIL INKEY$ <> “”
intro$ = “O4T100L16DEC<A8BG8DEC<A8BG8DEC<A8BAA-L8GN0O3G”
a$ = “O3L16DD+E>C8<E>C8<E>L4C.”
b$ = “L16CDD+ECDE8<B>D8L4C.”
c$ = “L16N0<AGG-A>CE8DC<A>L4D.”
d$ = “L16CDECDE8CDCECDE8CDCECDE8<B>D8L4CL16N0”
e$ = “L16<EFF+G8AG8EFF+G8AG8>EC<GAB>CDEDCD<G>EFGAGEF”
f$ = “G8AG8EFF+G8AG8GAA+BL8BBL16AF+DG4N0”
g$ = “L16<EFF+L8GL16AL8GL16EFF+L8GL16AL8G>L16EC<GAB>CDEDCDC4N0”
h$ = “L16O3GF+G>” + “C8<A>C8<A>C<AG>CEG8EC<GA8>C8ED8L4C.L16N0”
i$ = “O4L16AG+A4>C8D8<<B-AB->CD8FEF4A8B-8<GF+GAB->GD8GD8GD8C4”
j$ = “L16F4EG+B>E8D<B>C<A4B-4”
k$ = “L8F.L16FA>C8<G8CDEL8FN0>FN0”
l$ = “L16O4C8<A>C8<A>C<AG>CEG8EC<GA8>C8ED8C4N0>L8CN0”
m$ = “O3L16F8EF8EF8N0A>D<A>CDC<AG8F+G8F+G8N0>CECDEDC”
n$ = “D8C+D8C+D8N0FAFGAGF>CCC4<A8G8<GGG8G8”
o$ = “O3L16AG+A>G8F8CED+EA8>C<GEC8C8ED8C4N0>L8CN0”
enter1$ = intro$ + a$ + b$ + a$ + c$ + a$ + b$ + d$ + e$ + f$ + g$ + h$
enter2$ = a$ + b$ + a$ + c$ + a$ + b$ + LEFT$(d$, LEN(d$) – 2) + “O5L8CN0”
enter3$ = i$ + j$ + i$ + k$ + l$
enter4$ = m$ + n$ + m$ + o$
PLAY enter1$ + enter2$ + enter3$ + enter4$
GOTO start

Programming

Post navigation

Previous post
Next post

Related Posts

RotateAVI v0.91beta

8 January, 200729 July, 2007

It’s up on elbeno.com. If you got a digital camera for Xmas (or otherwise), check it out. An easy way to rotate avi movies.

Read More

Ellipses & Splines again

10 March, 2008

After some code cleanup and generalisation, I can now modulate whole splines onto ellipses and onto splines themselves. Here is my simple 4-bezier spline modulated onto an ellipse: And onto itself: Repeatedly modulating a spline onto itself while varying the frequency parameter leads to some interesting and fractal patterns. Nice.

Read More

Approximating elliptical arcs with Bézier curves

29 March, 2008

In doing my modulation work with curves and ellipses, I extended the vecto function for drawing an ellipse to enable an oriented ellipse. Lately it occurred to me that this didn’t go far enough in terms of functionality, and I began wondering about how to draw part of an elliptical…

Read More

Comments (2)

  1. Pingback: Why is a raven like a writing desk? » Blog Archive » How many programming languages do you know?
  2. Albert Bee says:
    9 November, 2018 at 6:57 pm

    I actually used Framework II in the late 80’s, and it had advanced features like being able to work with multiple files of different types and cut & paste between them, just like a Windows-like environment, way before Windows 95 was introduced. But the hardware (processor, speed, memory etc) was inadequate at that time. I recently tried it in Dosbox and it worked great.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

©2026 Why is a raven like a writing desk? | WordPress Theme by SuperbThemes