Welcome to 1984: the home environment of GEDCOM
Sept 26, 2023 15:23:29 GMT -8
Post by Uncle Buddy on Sept 26, 2023 15:23:29 GMT -8
www.youtube.com/watch?v=szdbKz5CyhA
No, not the Big Brother thing. The real computer scene of 1984. This is the world that spawned GEDCOM, PAF, and a lot of things that have been happily forgotten.
SQL was invented in the early 1970s, but in 1984 it had only been commercially available for two or three years. No wonder GEDCOM seemed necessary at the time. What if this SQL thing doesn't catch on? Better play it safe and use a text file to transfer data between applications!
And since GEDCOM was not a proper database, everyone who wanted to write genealogy software had to write their own database structure from scratch. Of course a lot of these designs emulated GEDCOM's basic assumptions and misassumptions, and now we have a situation on our hands! Genieware is still being built on notions that became assumptions 39 years ago.
As someone who purports to be replacing GEDCOM (with a SQL database that any genieware vendor can use as their back end), I thought I should also be able to import and export GEDCOM, if I wanted anyone to take me seriously. Well don't take me too seriously, I'm too old for that. Disillusionment is enlightenment, at my age.
For a few years now, I've been periodically taking on the creation of a GEDCOM import program, making some headway, getting farther than last time I tried, and finally giving up and/or starting over. One of my dogmas as a novice, self-taught programming hobbyist is that if you're only half done and the code is getting really hard to finish, it's too complicated and the only way to fix it is to simplify it. The easiest way to do that is to start over from scratch, trusting that learnings have accumulated since the last time I started over.
That's how I do it anyway. I'm not smart enough to build a beautiful program from a complex maze of unsymmetrical, badly planned patches.
Progress on the current version of the GEDCOM import program, GEDKANDU, is astounding to me. I almost thought I'd never get this far. Why is it so hard? I've covered that before, and I'm covering it again in a new document called "Luther's Nearly 99 Theses: The Deconstruction of GEDCOM". I go to this document to rant (that's my form of solace) when I get new realizations about why this process is hard, why it should not be so hard, or ways to make it all better. The 99 Theses is what keeps me sane.
I have now completed work on some or all of the hardest parts: citations/sources/assertions; concatenations; change dates; places; others. Some of these should have been easy but I'm no genius. If I can do it, you can do it better.
I'll let you know when it's done and I'll post the GEDCOM code-so-far at that point. I'm looking forward to posting the 99 Theses also. Completion of chapter 2 of Treebard development will take a few months, and when that's done I'll post all the code.
If you're interested in Treebard or UNIGEDS and want to delve into the code that's already posted here in the REPO section, the code should work for the most part but keep in mind that the code I'll post in a few months will blow that code out of the water. Many important changes have been made since that code was posted a year or two ago. Time flies when you're having fun.
Here again is the world that managed to spawn a notion of GEDCOM's ilk: www.youtube.com/watch?v=szdbKz5CyhA
No, not the Big Brother thing. The real computer scene of 1984. This is the world that spawned GEDCOM, PAF, and a lot of things that have been happily forgotten.
SQL was invented in the early 1970s, but in 1984 it had only been commercially available for two or three years. No wonder GEDCOM seemed necessary at the time. What if this SQL thing doesn't catch on? Better play it safe and use a text file to transfer data between applications!
And since GEDCOM was not a proper database, everyone who wanted to write genealogy software had to write their own database structure from scratch. Of course a lot of these designs emulated GEDCOM's basic assumptions and misassumptions, and now we have a situation on our hands! Genieware is still being built on notions that became assumptions 39 years ago.
As someone who purports to be replacing GEDCOM (with a SQL database that any genieware vendor can use as their back end), I thought I should also be able to import and export GEDCOM, if I wanted anyone to take me seriously. Well don't take me too seriously, I'm too old for that. Disillusionment is enlightenment, at my age.
For a few years now, I've been periodically taking on the creation of a GEDCOM import program, making some headway, getting farther than last time I tried, and finally giving up and/or starting over. One of my dogmas as a novice, self-taught programming hobbyist is that if you're only half done and the code is getting really hard to finish, it's too complicated and the only way to fix it is to simplify it. The easiest way to do that is to start over from scratch, trusting that learnings have accumulated since the last time I started over.
That's how I do it anyway. I'm not smart enough to build a beautiful program from a complex maze of unsymmetrical, badly planned patches.
Progress on the current version of the GEDCOM import program, GEDKANDU, is astounding to me. I almost thought I'd never get this far. Why is it so hard? I've covered that before, and I'm covering it again in a new document called "Luther's Nearly 99 Theses: The Deconstruction of GEDCOM". I go to this document to rant (that's my form of solace) when I get new realizations about why this process is hard, why it should not be so hard, or ways to make it all better. The 99 Theses is what keeps me sane.
I have now completed work on some or all of the hardest parts: citations/sources/assertions; concatenations; change dates; places; others. Some of these should have been easy but I'm no genius. If I can do it, you can do it better.
I'll let you know when it's done and I'll post the GEDCOM code-so-far at that point. I'm looking forward to posting the 99 Theses also. Completion of chapter 2 of Treebard development will take a few months, and when that's done I'll post all the code.
If you're interested in Treebard or UNIGEDS and want to delve into the code that's already posted here in the REPO section, the code should work for the most part but keep in mind that the code I'll post in a few months will blow that code out of the water. Many important changes have been made since that code was posted a year or two ago. Time flies when you're having fun.
Here again is the world that managed to spawn a notion of GEDCOM's ilk: www.youtube.com/watch?v=szdbKz5CyhA