[Recently, I reached out to Iulstan Sigwealding, who served as the Morsulus Herald of the SCA from 1992 through the end of 1999, and asked him some questions about that experience. His answers provided a glimpse into a different era of the Society’s development, and afterwards he was kind enough to volunteer to rewrite the transcript of our conversation to produce a recollection which he has allowed me to publish here. — Mathghamhain]
My first heraldic office in the Society for Creative Anachronism was Latimer, back in the late 1980s. The job consisted of writing return letters to submitters on behalf of Vesper Principal Herald. It made me painfully aware of how the SCA’s heraldic submission system worked and how it failed. Back then, the submission process was daunting. Rejection rates were high, and few people understood the SCA’s rules. Each submission round could take a year or more. To research device submissions for conflict, you needed a (paper) copy of the SCA Ordinary, which was expensive and went rapidly out of date.
As a computer geek, I was fascinated by blazon. It seemed like a stepping stone between the languages invented for computer software and natural languages like English. I started developing a parser for blazon, with the goal of eventually generating emblazons from blazons. To test my parser, I needed lots of blazons. The Morsulus Herald in those days was Iathus of Scara Brae, whom I knew from the West Kingdom College of Heralds. He gave me a copy of the SCA’s heraldic database. It was all fixed-length text fields, in EBCDIC, on reel-to-reel magnetic tape. Luckily, I had access to tape readers and a Unix utility to convert EBCDIC to ASCII. I didn’t get far with my parser — SCA arms and their blazons get very creative — but I reported all the typos I found back to Iathus, and he kept me updated.
From 1991 to 1993, I lived in an SCA household called Goutheim. The four of us were both heralds and computer geeks. We consulted submitters at events, checked submissions at the monthly kingdom-level meeting, and assisted our local College of Arms commenters. We did tons of tedious conflict checking, so it was natural to try automating it. One database update I got from Iathus included the categories, so I wrote a console app in “C” to build an in-memory index and find items that met specified criteria. My housemate David, who owned a Sun workstation, wrote a GUI front end for my app, using TCL and Tk. He used it for conflict research at Leveret meetings.
Many people had similar ideas prior to us. Technology-wise, Goutheim came along at a good time. Personal computers had enough RAM to hold the whole database. I’d been distributing the database over FTP, with a copyright notice and license I wrote myself. I handed out sets of 3.5-inch floppy diskettes at heraldic symposia, with a copy of the database and some EXE files for searches and lookups.
About that time, everyone seemed to be looking to find uses for the World Wide Web. I had a vision of how SCA book heraldry could work in the WWW era: a database, accessible for free (if you had Internet access) and updated monthly, giving local heralds a tool to spot conflicts early in the submission process. Even in 1993, it was pretty clear things were headed this way. The logical next step was to make the Goutheim search tool accessible via HTTP. So I wrote CGI script in Perl to run queries against a backend database, using TCP port 1066. I lost server access in 1993, but I’m told that this software, with modifications, is still in use.
I did a lot of software work before becoming Morsulus. Certainly the search stuff was working before I took the job. Once I took over from Iathus, my focus changed. I wanted to improve both the printed reference books and the underlying database.
Originally, the categories in the database were 1:1 with the category headings in the Ordinary, only abbreviated. So “Bend sinister, 1, by complex line” was coded as something like “BEND*3”. For computer searches, I wanted to be able to categorize things much more finely, so I regularized the categories and broke them down using colons.
Another innovation was faster conversion of LoARs to database entries. (I believe Iathus and his predecessors retyped all the names and blazons.) Knowing that the Laurel Sovereigns wrote their LoARs in WordPerfect, I persuaded them to convert the files to ASCII and e-mail them to me, and wrote scripts to parse the text into database entries. I also did semi-automatic generation of categories based on the blazon, which saved even more time. All hand edits were done in Linux, using “vi”.
Another innovation was “Daud-encoding” non-ASCII characters: the ligatures and accents and such. Plus coding the submitter’s kingdom for each registered item, so you’d know in what section of the LoAR to look for it. The data I got from Iathus didn’t have any of that stuff.
I did a lot of recategorization of old blazons, merging categories that were no longer considered “clearly different” and breaking down large categories into smaller ones.
I implemented the “Field only” category from scratch. I forget who suggested it to me. That was a big project!
But the thing I did that I’m most proud of was turning the database into a historical archive. In addition to what was registered, it showed what had been registered in the past — including items that had been corrected, changed, transferred, or released. That project went on for most of my tenure as Morsulus. While I was processing a new LoAR every month, I was also working backward through old LoARs, adding info that I wanted the database to have, such as kingdom IDs, accents, and history.
When I became Morsulus Herald, I also inherited Free Trumpet Press West (FTPW) from Iathus. This meant making the printed references available — not just keeping them in stock and fulfilling orders, but also issuing new updates to (and new editions of) the SCA Ordinary and Armorial. (Back then, the SCA Stock Clerk didn’t carry such things.) I couldn’t use Iathus’s techniques because I lacked mainframe access. I needed software that would run on a personal computer, and I had just a few months before the next update was expected.
I purchased an HP laser printer for FTPW, with an add-on cartridge to handle PostScript. The software I used to format the O&A to PostScript was entirely my own work. I didn’t have any documentation for the PostScript language, so I reverse-engineered it by trial and error. Printing a 1,000-page master took over 4 hours, assuming nothing went wrong, and required constant attention.
I put effort into keeping the printed O&A manageable. I found an inexpensive copy shop. I issued consolidated updates. I tweaked the fonts and margins. I formatted the text into multiple columns. I split the Ordinary into two volumes. I abbreviated the blazons. But even in 1993 there were branch heralds who couldn’t afford a $40 book, and the challenge kept growing.
After my child was born in 1996, my SCA activity waned. I still loved FTPW and Morsulus, but at some point, it didn’t made sense for me to hold an SCA office when I wasn’t playing. In 1999, Herveus was inspired or persuaded to take over.
It wasn’t a smooth transition. For one thing, the computer didn’t survive being shipped via UPS from California. And the backup tapes, as I recall, were unreadable. I sent Herveus the source code and scripts via e-mail, but much of the software framework I used was lost. Ah well. Twas fun while it lasted!
— Iulstan Sigwealding
The cgi scripts and database server are substantially unchanged from what Iulstan wrote. It’s still distributed as config.web. There have been refinements, of course, but no fundamental changes.
Many of the scripts I use in the process are mostly what I got from Iulstan. The biggest change is the GUI indexing tool I wrote for myself. In Perl and Tk.
In 1999, I had just stepped back from being emergency submissions herald, but I had enough time to catch my breath before it was pointed out to me that Morsulus was coming open and that I’d be a Really Good Fit. So there was some persuasion but no force involved.
The file scanning project and the ongoing data cleaning has resulted in a lot of maintenance changes over time. I also managed to go through every item in the database from before my time and examined the indexing. I really wanted to get the group feature everywhere it fit to facilitate searching and other random stuff. Some of the older stuff had minimal features. That’s no longer true.
I inherited a house in decent order and have made it mine. Thank you Iulstan.
Thank you, Herveus, for your kind words. I’m grateful that you’ve carried on the work, just as I’m grateful to my predecessors who set good examples for me to follow. -Iulstan