I’ve been doing a lot of genealogy lately, and as part of that I’ve been refining the family sheets I mentioned last time:
Ancestor line chart
The main new thing is the ancestor line chart in the upper right, showing where the family is on my line in relation to me, with fathers on the left and mothers on the right. (So this family is my mother’s mother’s mother’s father’s father’s parents.) Each person’s initial is in the circle.
For collateral lines, it looks like this:
If the family sheet were for Agustin’s grandchildren or great-grandchildren, the collateral line would extend further downward (with each collateral line generation lining up with its parallel main line generation).
The syntax for both ancestor line charts:
line: -T -J -A A- E- LF
line: -T J- A- -I -M -J PA > A-
I went through a whole bunch of iterations on the syntax before landing on this, which I really like. It’s concise and reads easily to me, and it also happens to be very, very easy to parse.
Family sparklines
I’ve changed the family sparklines to show whether children are sons (hollow diamonds) or daughters (filled circles), and the marriages are now slightly thicker and longer vertical lines. (So in the second screenshot, you can see that Agustin married three times. And yes, he had a couple children when he was in his sixties!)
Though these don’t show it, I’ve also added support for twins and other multiple births.
Next up, I’m planning to add dotted lines for date ranges (“died between X and Y”) and markers for divorce and for the death of a spouse. Also working toward making this month-level granular instead of just year-level. (Right now, if someone is born in January of one year and their next sibling is born December of the next year, the sparklines make it look like they’re only one year apart even though in reality they’re almost two apart.)
Other changes
The layout has changed a bit, mostly to give more horizontal room for the sparklines, and to set the husband and wife side by side (which saves vertical space and also creates a spatial analogue to the ancestor line chart).
I’m no longer manually (and laboriously) loading these in the browser to export the PDFs. Instead, I call Chrome in headless mode as part of my script:
Last (and also least), I’ve switched the font from EB Garamond to Clifford Pro. Mmm.
The code
Right now the code is a bit of a mess. Now that the prototype has served its purpose, I’m about to rearchitect it all and port it to Node, possibly Bun, possibly with ArchieML. (It’s currently Python with Jinja2 and YAML. For years I’ve used Python for writing almost all my command-line tools, but lately I find that I’d rather write JavaScript. Time for an ecosystem shift.)
This one was surprisingly easy to write, and I really enjoyed the process. The story originated with my Edge of Magic web novel (the one I abandoned years ago), went through several upheavals as I tried to figure out what to do with it, and landed with a completely new story. The only thing in common is the name of the main character.
Bun, a new JavaScript runtime. Such speed! The built-in TypeScript and npm compatibility is nice, too. Planning on trying this out for some upcoming projects.
Garrett Scott on Pipedream, a hyperlogistics startup. Kind of mind-blowing. I don’t know how I feel about the security aspects of having a chute into my house that other companies can access, though.
Laundry Jet, another interesting startup. Also something I probably wouldn’t want to use, this one because a) my house isn’t that big and b) if stuff gets stuck in there…
Tree & Leaf, a lovely online genealogy site. I’m now itching to do something similar. (It’ll probably wait until after I’ve gotten this printed genealogy chart itch out of my system, though.)
ArchieML, the NYT’s markup language. A potential alternative to YAML that I’m looking at for some of my genealogy projects.
Robin Shreeves on scruffy hospitality. I.e., not worrying so much about cleaning your house before guests come over. We haven’t had guests since Covid began, but when we start up again (which will be soon, now that our youngest are almost fully vaccinated), this is good to keep in mind.
Kurt Schlosser on “parallel reality”. It’s a new type of screen with multidirectional pixels that can supposedly privately show up to 100 customers their flight information, all at the same time from the same screen.
Disability Visibility, edited by Alice Wong. A variety of essays, with varying levels of interest. Overall, it was a quick read that I learned a lot from. The idea of disability being time travel (making your body act much older or much younger) resonated with me; I’ve certainly felt like my spondylolisthesis has aged me thirty years. While it’s invisible to anyone looking at me, it affects my life every day, all day long. (It’s very rare for an hour to go by without the pain drawing my attention.) Anyway, this was the first book I’ve read about disability since my injury, and some of the essays definitely felt like they were speaking to me.
Recent fiction reads
The Sudden Appearance of Hope, by Claire North. I think this was maybe my second favorite of hers so far, after Harry August. An interesting science fiction idea (a girl who everyone forgets) with intriguing exploration of the potential ramifications, which is what I like out of science fiction. (Or at least one thing I like out of science fiction.)
Devolution, by Max Brooks. Sasquatch horror. Quite violent in some respects, but overall a captivating story. I liked it more than World War Z, which felt more exhausting to me. Even so, I’m very, very glad this book was fictional.
Upgrade, by Blake Crouch. Another interesting science fiction idea (which comes enough into the book that I won’t spoil it, even though it’s somewhat self-evident and probably all over the back cover copy). During the middle I wasn’t sure how I felt about the book, but the ending turned it around for me in a good way. Also one that I’m glad was fictional.
Books purchased since last post
Crashed: How a Decade of Financial Crises Changed the World — Adam Tooze
Come on Shore and We Will Kill and Eat You All: A New Zealand Story — Christina Thompson
The Dinosaur Artist: Obsession, Betrayal, and the Quest for Earth’s Ultimate Trophy — Paige Williams
The Last Lie Told — Debra Webb
Churchill & Son — Josh Ireland
Your Inner Fish: A Journey into the 3.5-Billion-Year History of the Human Body — Neil Shubin
Operation Mincemeat: How a Dead Man and a Bizarre Plan Fooled the Nazis and Assured an Allied Victory — Ben Macintyre
The Law — Jim Butcher
Revolutionary Summer: The Birth of American Independence — Joseph J. Ellis
The Immortal King Rao — Vauhini Vara
The Gurkha and the Lord of Tuesday — Saad Z. Hossain
Knives at Dawn: America’s Quest for Culinary Glory at the Legendary Bocuse d’Or Competition — Andrew Friedman
Stet: An Editor’s Life — Diana Athill
The Story of Greece and Rome — Tony Spawforth
Trust: America’s Best Chance — Pete Buttigieg
Extra Life: A Short History of Living Longer — Steven Johnson
The Hand of the Sun King — J. T. Greathouse
Upgrade — Blake Crouch
Drunk on All Your Strange New Words — Eddie Robson
Inda — Sherwood Smith
The Immortal Game: A History of Chess — David Shenk
Stray Souls — Kate Griffin
The Glass God — Kate Griffin
Lessons from the Edge: A Memoir — Marie Yovanovitch
Rez Life: An Indian’s Journey Through Reservation Life — David Treuer
New story: Mother Tongue, about twenty pages long, fantasy.
I started working on this story back in 2016 but it didn’t come together at the time. This story is wildly different from that early draft, with the characters’ names (Dagh and Maria Bonita) being about the only parts that have survived.
A look at the Onyx Boox 25″ e-ink monitor. I’m really excited to see how e-ink develops over the next couple decades. (In writing this, I realized that I would love, love, love to have a thin, lightweight, small pocket-sized 400+ dpi e-ink reader. Something like an iPhone 13 Mini but just for reading.)
I’ve been reading more on my Kobo lately, after barely touching it for months. The contrast and typography are great. The physical buttons end up hurting my fingers a little, though, so I’ve just been using the touchscreen. (Honestly, I’d prefer it without the buttons, for my fingers and for the sake of symmetry. If/when Kobo releases a new Clara with the Carta 1200 screen, I’m absolutely planning to switch.)
Recent nonfiction reads
The Invention of Nature, by Andrea Wulf. About the life of Alexander von Humboldt, who I had somehow never heard of before reading this. Glad to have corrected that. The book also ended up being about a number of other men (Bolívar, Darwin, Thoreau, Marsh, Haeckel, Muir, etc.), which I hadn’t expected but which turned out to be fascinating. Loved it.
Forgotten Peoples of the Ancient World, by Philip Matyszak. A nice overview of dozens of ancient groups like the Akkadians, the Hyksos, the Phrygians, the Bactrians, the Epirots, the Celtiberians, the Catuvellauni, the Vandals, the Ostrogoths, and the Hephthalites. About five or six pages per group. It was slower reading because of all the ancient names (Magetobriga, Vercingetorix, Sarmizegetusa, etc.), but it was good. So much human history, and I still know so very little of it.
Recent fiction reads
Sourdough, by Robin Sloan. Really liked it. A bit zany at times, but lots of heart. And yes, it did get me itching to make sourdough bread.
Books purchased since last post
The Past Is Red — Catherynne M. Valente
Troubleshooting Your Novel: Essential Techniques for Identifying and Solving Manuscript Problems — Steven James
Unthinkable: Trauma, Truth, and the Trials of American Democracy — Jamie Raskin
In Theory, It Works — Raymond St. Elmo
The Crook Factory — Dan Simmons
The Secret Lives of Color — Kassia St. Clair
Cuba: An American History — Ada Ferrer
Hench — Natalie Zina Walschots
The Secrets of Alchemy — Lawrence M. Principe
Valiant Ambition: George Washington, Benedict Arnold, and the Fate of the American Revolution — Nathaniel Philbrick
Geography Is Destiny: Britain and the World: A 10,000-Year History — Ian Morris
Desdemona and the Deep — C. S. E. Cooney
Dark Breakers — C. S. E. Cooney
Legend — David Gemmell
The Dark Tower I: The Gunslinger — Stephen King
Sweet Harmony — Claire North
A Canticle for Leibowitz — Walter M. Miller, Jr.
The Wandering Earth — Cixin Liu
A Ghost in the Throat — Doireann Ní Ghríofa
Thunderstruck — Erik Larson
A New Foreign Policy: Beyond American Exceptionalism — Jeffrey D. Sachs
The Gormenghast Trilogy — Mervyn Peake
The Men Who United the States: America’s Explorers, Inventors, Eccentrics and Mavericks, and the Creation of One Nation, Indivisible — Simon Winchester
Battle for the Big Top: P. T. Barnum, James Bailey, John Ringling, and the Death-Defying Saga of the American Circus — Les Standiford
It’s All About the Bike: The Pursuit of Happiness on Two Wheels — Robert Penn
Just Send Me Word: A True Story of Love and Survival in the Gulag — Orlando Figes
The Wizard of Lies: Bernie Madoff and the Death of Trust — Diana B. Henriques
Five Days in London, May 1940 — John Lukacs
To Say Nothing of the Dog — Connie Willis
Blackout — Connie Willis
All Clear — Connie Willis
How We Got to Now: Six Innovations That Made the Modern World — Steven Johnson
Battle of the Linguist Mages — Scotto Moore
The Ninth Rain — Jen Williams
Stalin: The Court of the Red Tsar — Simon Sebag Montefiore
Oh how I wish I could read them as fast as I buy them.
As part of my quest to start saving my genealogical research on paper, I built a small system for generating family sheet PDFs. (Kind of like my family group record redesigns.)
It takes input like this:
SE-0007:
father:
name: José Antonio Fuentevilla Fuentevilla
birth:
date: 13 Apr 1809
place: Polanco, Santander, Spain
death:
date: 23 Dec 1878
place: Polanco, Santander, Spain
parents:
father: José Fuentevilla Piñera
mother: Vicenta Manuela Fuentevilla Ruiz
link: SE-0013
mother:
name: Manuela Gándara Cobo
birth:
date: about 1811
place: Setién, Marina de Cudeyo, Santander, Spain
death:
date: 30 Nov 1879
place: Polanco, Santander, Spain
parents:
father: José Gandara Valdecilla
mother: Josefa Cobo Palacio
marriage:
date: 30 Dec 1829
place: Polanco, Santander, Spain
children:
- name: "[unnamed infant]"
birth:
date: about 1830
place: Polanco, Santander, Spain
death:
date: 14 Jan 1831
place: Polanco, Santander, Spain
- name: Josefa Fuentevilla Gandara
birth:
date: 31 Jul 1832
place: Polanco, Santander, Spain
death:
date: 5 Aug 1834
place: Polanco, Santander, Spain
...
And then generates an HTML page which I can then load in a browser and print to get this:
I’m using a page-naming scheme that helps me know which side of my family it’s on. The numbering is in order of creation. The family sparklines show an overview of the family. There’s a notes section (not shown) where I include notes on the family and what research we still need to do. The age calculations are primitive but get the idea across.
It takes a bit of time to copy things out of FamilySearch and keep it up to date, but I’m finding that these sheets help me see what work I still need to do. And it’s nice having something material and persistent so I’m not always on a screen.
(At this point are they really still sparklines, you ask? Good question.)
These families are from my Spanish line, by the way, which is why there is an abundance of initials.
Basic idea: larger hollow circles are marriages, smaller filled circles are children. Vertical marks at beginning or end for birth and death. (If the vertical tick isn’t present, the birth or death date isn’t known.) Father at the top of the chart, mother at the bottom, children in the middle. Vertical line from father to mother for the parents’ marriage. In cases where the marriage isn’t known (like in the bottom right MA/CS family), the vertical line and circles are left out. People’s initials are at the right to help know who is who. The smaller vertical tick marks on each line mark ten years of age. If there isn’t a death date, it goes five years past the last known date.
It’s still a work in progress, but I like how it provides an at-a-glance overview of a family. With the JAFF/MGC family in the upper left, for example, I can easily see that:
The parents were alive for all three marriages of their children and most of the grandkids’ births
They had five children die young
I don’t have a marriage or death for MFG
I haven’t found any children for MLFG
You can also see a child born before the wedding, how old people were when they married, gaps where there might have been children, etc.
I’m sure I’ll refine it further in the future, but I wanted to post where it’s at right now.
Lately I’ve found myself wanting to have local, paper copies of my genealogical research. As part of that, I wrote a script that takes input like this:
- Maria Isabel Fuentevilla Gándara | 1848 | ? | Polanco, Spain
-- José Antonio Fuentevilla Fuentevilla | 1809 | 1878 | Polanco, Spain
--- José Fuentevilla Piñera | 1779 | ? | Polanco, Spain
---- José Villa Oyuela | 1737 | 1803 | Polanco, Spain
----- Juan Antonio Villa Cacho | ? | ? | Polanco, Spain
------ Santiago Villa | 1687 | ? | Polanco, Spain
------ Maria Cacho
----- Rosa Maria Oyuela | ? | 1740 | Polanco, Spain
------ Damian Oyuela | ? | 1720 |
------ Josefa Rio
---- Rosa Piñera Pereda | 1747 | 1817 | Rumoroso, Spain
----- Juan Francisco Piñera Velo | ? | ? | Rumoroso, Spain
------ Juan Piñera | ? | ? | Arce, Spain
------ Francisca Velo | ? | ? | Arce, Spain
----- Maria Pereda Fuente | ? | ? | Rumoroso, Spain
------ Francisco Pereda | ? | ? | Rumoroso, Spain
------ Anna Fuente | ? | ? | Rumoroso, Spain
And turns it into what I’m calling a tabular pedigree chart:
It’s not glamorous by any means, and it’s still a work in progress, but it was super simple to implement with HTML tables and a bit of CSS. I print it to PDF from the browser. Overall, I’m fairly happy with it.