25 Years of Mindat
Last Updated: 17th Sep 2020By Jolyon Ralph
Twenty five years ago today, on Christmas Day 1993, there was nothing good on television.
So I went upstairs to my room and started writing mindat.
I've already mentioned the origins of mindat in my article on the history of mindat, but the full story of why it started and what lead me to that fateful day hasn't yet been written down - so now is the time to go back to the real beginning! A lot of this may be of little interest to you if you have zero interest in computers, so I apologise in advance :)
As I have mentioned before several times, I started collecting minerals when I was around 5 or 6 years old on a family trip to Cornwall. This is the specimen I found, on the beach at Tintagel.
What I haven't mentioned before, is that what sealed my fascination with minerals was the Amethyst specimen I saw for sale for the price of Β£5.25 in a rock shop in Cornwall, possibly a day or two after finding the quartz. I begged my parents to let me buy it. The price was not cheap (about Β£40 / USD $50 in today's money) - and was told that if I got it there was no money left for any other ice creams, toys or treats for the rest of the trip. I insisted it was what I wanted, and my parents tell me that I didn't complain once for the rest of the trip.
Here's the Amethyst I bought then. If you click on the image you can rotate it through 360 degrees.
By now I was hooked.
It was September 1980, I was in middle school in my favourite maths lesson when the teacher announced to the class that we had been chosen for a very special task. Our class of ten year olds would be the first class of our age group in the UK to be taught computing as a part of the standard weekly curriculum.
I remember rushing home to tell my mother the exciting news and then, just before telling her, having some serious self-doubt wondering if I had simply misheard my teacher telling us we were going to use calculators.
Our teacher, Richard Ennals, came in once a week from Imperial College London, and taught us computer programming in a special child-friendly version of the logic programming language Prolog. We had one computer in the back of the class, a Northstar Horizon. We had little time to use the computer individually in class so myself and a few other friends would share as much time as we could at lunchtimes to get to use it more.
Let me explain a bit more about what we did. Simple Prolog allowed you to add facts to the computer, and then ask questions of the facts. For modern programmers it's actually more reminiscent of how SQL databases work than traditional programming languages. The syntax was essentially [object] [verb] [object]
(these are the facts added)
Then you can set up rules to interpret the data, eg.
and you can ask questions.
answer:
answers:
By 1982 I had started a serious project to write a prolog program about the periodic table of the elements. By now I was comfortable with some of the more complex syntax which I had figured out even though it wasn't part of the official syllabus, and I created a program that you could query with questions such as which elements are lighter than manganese, or which elements melt at a higher temperature than gold. It was simplistic, but I was proud of it.
My friend Jeremy convinced me to enter it in a competition being run in the UK computer magazine Popular Computing Weekly.
Jeremy wrote the documentation for the program (even then documentation wasn't my strong point!) and entered on our behalf. This wasn't a competition for 12 year olds, it was open to everyone, but somehow we won!
I got the Jupiter Ace computer (that we now shared) on December 23rd 1982. It was, by a whole day, my first home computer. Forth terribly confused me and I didn't really get much done with it because the very next day the computer I'd actually been given as a birthday present in October finally arrived (the original was dead on arrival, and it took two and a half months to replace) - the Sinclair ZX Spectrum.
The ZX Spectrum was my first REAL home computer, with a massive 48Kbytes of RAM and a colour display (16 colours but quite a primitive way of combining them on screen). It came with a book describing the BASIC programming language, which I had vaguely come across before but never used seriously, so I taught myself how to program in BASIC and had written my first simple game soon after.
It was on the ZX Spectrum that I first tried to write a mineral database. I had a simple mineral book (Minerals and Gemstones by G.Brocado) that included, beneath the photo, a table of properties laid out on a grid. Everything from hardness to geological environments to reactivity in common acids was marked on the table.
For me this book was incredible yet infuriating at the same time. I wanted to be able to use the table to identify minerals quickly, but the book format didn't work. I even considered making a version using a simple punched-card type system to be able to identify my unknown minerals, but I knew the answer was to create a computer database.
I tried to build something, and I tried to enter some of the data from the book to do this, but I soon reached the limitations of the computer hardware. The project was never finished, I never got my mineral identification database working on my ZX Spectrum.
In 1987 I finally upgraded my computer to something with a bit more power. The Amiga 500, a 16-bit computer with 512K bytes of memory and an internal 3.5" diskette drive. This was a whole new world for me - and the technology of the system was incredible.
It took me about a year to learn how to program this machine - an entirely different proposition to programming the ZX Spectrum. No programming books were included, and to program it at the level I wanted I had to learn 68000 assembly language programming. I also had to learn how to master the custom chips in the system that controlled graphics and sound. Making the Amiga do impressive tricks using these graphics chips was my aim at the time - any thought of databases took a back seat for a while. A year later and I was writing articles for a leading Amiga magazine teaching people how to program.
Here's a video of one of these graphic demos I did for the magazine. Back in those days this was actually impressive!
By this time I was at University, Royal School of Mines in London, studying geology. But I really wasn't enjoying it at all. I decided after a year to give up geology and stick with computing as my profession, especially as I was offered a well paid support role in BP.
I enjoyed working at BP, but I really wanted to do programming. So following on from the demos I wrote for Amiga Computing magazine, I was offered a job by a London company writing multimedia software for the Amiga system and the soon-to-be-launched CDTV multimedia system. I went for the interview, passed the interview, and just as I was leaving the front door the boss shouted to me "Oh, you do know how to program in 'C'?" "Yes". I lied. I then had three weeks to learn this new language, again on my own, which was quite an undertaking.
Soon after my parents and I had set up a software development company called Almathera Systems Ltd which was writing software for the Amiga. This became quite an important company in the Amiga world.
It was during 1992 and 1993 that I rekindled by love of minerals after neglecting it somewhat since University. I had discovered the Sussex Mineral and Lapidary Society, became a member, and tried to go on as many of their field trips as possible. I also met a young and aspiring UK mineral dealer by the name of Ian Bruce around this time, we would occasionally go out collecting together and I'd help him out at shows in the London area.
I got my first PC laptop in 1993, although I was still very much an Amiga user at heart. I wanted to teach myself to program the MS-DOS system, and I wanted to write 'C' code in a way that would work both on the PC and, when recompiled, on my Amiga.
So on Christmas Day 1993, as I have already mentioned far too many times, I started writing mindat.
What is worth pointing out is that the core structure of what we have today on mindat.org was determined, to no small extent, by the decisions made that day. The way formula are stored (which may not be ideal, but is what it is), dates back to the very beginning. The idea of a hierarchy split by commas with localities aggregating results from sub-localities matching the same ending of the string also dates back to that day. The main difference between now and then is that I didn't use any commercial databases, I wrote all my own code for everything - because at the time none of the databases I tried could display a formula correctly. And that wasn't easy even in my code - considering it was designed to run on a non-graphical MS-DOS environment! Subscript numbers were shown on the line below the elements.
What happened over the next 25 years is already documented, at least to some extent, in our history - click here. But as soon as mindat turned into mindat.org (in October 2000) the history of mindat was no longer entirely tied to me, and the hard work put in by so many of you to help improve and extend our database have truly made mindat.org into what it is now.
I'm proud of what I did to start mindat, but I'm humbled by and thankful every day for the incredible amount of effort put in by all of you. Thank you all.
Jolyon,
25th December 2018.
So I went upstairs to my room and started writing mindat.
I've already mentioned the origins of mindat in my article on the history of mindat, but the full story of why it started and what lead me to that fateful day hasn't yet been written down - so now is the time to go back to the real beginning! A lot of this may be of little interest to you if you have zero interest in computers, so I apologise in advance :)
My interest in minerals
As I have mentioned before several times, I started collecting minerals when I was around 5 or 6 years old on a family trip to Cornwall. This is the specimen I found, on the beach at Tintagel.
What I haven't mentioned before, is that what sealed my fascination with minerals was the Amethyst specimen I saw for sale for the price of Β£5.25 in a rock shop in Cornwall, possibly a day or two after finding the quartz. I begged my parents to let me buy it. The price was not cheap (about Β£40 / USD $50 in today's money) - and was told that if I got it there was no money left for any other ice creams, toys or treats for the rest of the trip. I insisted it was what I wanted, and my parents tell me that I didn't complain once for the rest of the trip.
Here's the Amethyst I bought then. If you click on the image you can rotate it through 360 degrees.
By now I was hooked.
My interest in computers
It was September 1980, I was in middle school in my favourite maths lesson when the teacher announced to the class that we had been chosen for a very special task. Our class of ten year olds would be the first class of our age group in the UK to be taught computing as a part of the standard weekly curriculum.
I remember rushing home to tell my mother the exciting news and then, just before telling her, having some serious self-doubt wondering if I had simply misheard my teacher telling us we were going to use calculators.
Our teacher, Richard Ennals, came in once a week from Imperial College London, and taught us computer programming in a special child-friendly version of the logic programming language Prolog. We had one computer in the back of the class, a Northstar Horizon. We had little time to use the computer individually in class so myself and a few other friends would share as much time as we could at lunchtimes to get to use it more.
Let me explain a bit more about what we did. Simple Prolog allowed you to add facts to the computer, and then ask questions of the facts. For modern programmers it's actually more reminiscent of how SQL databases work than traditional programming languages. The syntax was essentially [object] [verb] [object]
paul is_father_of david
paul is_father_of sally
alice is_mother_of david
alice is_mother_of sally
(these are the facts added)
Then you can set up rules to interpret the data, eg.
X is_child_of Y if Y is_mother_of X
X is_child_of Y if Y is_father_of X
and you can ask questions.
does(david is_child_of paul)
answer:
YES
which(X) (X is_child_of alice)
answers:
david
sally
Elements
By 1982 I had started a serious project to write a prolog program about the periodic table of the elements. By now I was comfortable with some of the more complex syntax which I had figured out even though it wasn't part of the official syllabus, and I created a program that you could query with questions such as which elements are lighter than manganese, or which elements melt at a higher temperature than gold. It was simplistic, but I was proud of it.
My friend Jeremy convinced me to enter it in a competition being run in the UK computer magazine Popular Computing Weekly.
Jeremy wrote the documentation for the program (even then documentation wasn't my strong point!) and entered on our behalf. This wasn't a competition for 12 year olds, it was open to everyone, but somehow we won!
I got the Jupiter Ace computer (that we now shared) on December 23rd 1982. It was, by a whole day, my first home computer. Forth terribly confused me and I didn't really get much done with it because the very next day the computer I'd actually been given as a birthday present in October finally arrived (the original was dead on arrival, and it took two and a half months to replace) - the Sinclair ZX Spectrum.
The ZX Spectrum
The ZX Spectrum was my first REAL home computer, with a massive 48Kbytes of RAM and a colour display (16 colours but quite a primitive way of combining them on screen). It came with a book describing the BASIC programming language, which I had vaguely come across before but never used seriously, so I taught myself how to program in BASIC and had written my first simple game soon after.
It was on the ZX Spectrum that I first tried to write a mineral database. I had a simple mineral book (Minerals and Gemstones by G.Brocado) that included, beneath the photo, a table of properties laid out on a grid. Everything from hardness to geological environments to reactivity in common acids was marked on the table.
For me this book was incredible yet infuriating at the same time. I wanted to be able to use the table to identify minerals quickly, but the book format didn't work. I even considered making a version using a simple punched-card type system to be able to identify my unknown minerals, but I knew the answer was to create a computer database.
I tried to build something, and I tried to enter some of the data from the book to do this, but I soon reached the limitations of the computer hardware. The project was never finished, I never got my mineral identification database working on my ZX Spectrum.
The Commodore Amiga
In 1987 I finally upgraded my computer to something with a bit more power. The Amiga 500, a 16-bit computer with 512K bytes of memory and an internal 3.5" diskette drive. This was a whole new world for me - and the technology of the system was incredible.
It took me about a year to learn how to program this machine - an entirely different proposition to programming the ZX Spectrum. No programming books were included, and to program it at the level I wanted I had to learn 68000 assembly language programming. I also had to learn how to master the custom chips in the system that controlled graphics and sound. Making the Amiga do impressive tricks using these graphics chips was my aim at the time - any thought of databases took a back seat for a while. A year later and I was writing articles for a leading Amiga magazine teaching people how to program.
Here's a video of one of these graphic demos I did for the magazine. Back in those days this was actually impressive!
By this time I was at University, Royal School of Mines in London, studying geology. But I really wasn't enjoying it at all. I decided after a year to give up geology and stick with computing as my profession, especially as I was offered a well paid support role in BP.
My first real programming job
I enjoyed working at BP, but I really wanted to do programming. So following on from the demos I wrote for Amiga Computing magazine, I was offered a job by a London company writing multimedia software for the Amiga system and the soon-to-be-launched CDTV multimedia system. I went for the interview, passed the interview, and just as I was leaving the front door the boss shouted to me "Oh, you do know how to program in 'C'?" "Yes". I lied. I then had three weeks to learn this new language, again on my own, which was quite an undertaking.
Soon after my parents and I had set up a software development company called Almathera Systems Ltd which was writing software for the Amiga. This became quite an important company in the Amiga world.
It was during 1992 and 1993 that I rekindled by love of minerals after neglecting it somewhat since University. I had discovered the Sussex Mineral and Lapidary Society, became a member, and tried to go on as many of their field trips as possible. I also met a young and aspiring UK mineral dealer by the name of Ian Bruce around this time, we would occasionally go out collecting together and I'd help him out at shows in the London area.
I got my first PC laptop in 1993, although I was still very much an Amiga user at heart. I wanted to teach myself to program the MS-DOS system, and I wanted to write 'C' code in a way that would work both on the PC and, when recompiled, on my Amiga.
So on Christmas Day 1993, as I have already mentioned far too many times, I started writing mindat.
What is worth pointing out is that the core structure of what we have today on mindat.org was determined, to no small extent, by the decisions made that day. The way formula are stored (which may not be ideal, but is what it is), dates back to the very beginning. The idea of a hierarchy split by commas with localities aggregating results from sub-localities matching the same ending of the string also dates back to that day. The main difference between now and then is that I didn't use any commercial databases, I wrote all my own code for everything - because at the time none of the databases I tried could display a formula correctly. And that wasn't easy even in my code - considering it was designed to run on a non-graphical MS-DOS environment! Subscript numbers were shown on the line below the elements.
What happened over the next 25 years is already documented, at least to some extent, in our history - click here. But as soon as mindat turned into mindat.org (in October 2000) the history of mindat was no longer entirely tied to me, and the hard work put in by so many of you to help improve and extend our database have truly made mindat.org into what it is now.
I'm proud of what I did to start mindat, but I'm humbled by and thankful every day for the incredible amount of effort put in by all of you. Thank you all.
Jolyon,
25th December 2018.
Article has been viewed at least 3160 times.