Home / Blog Menu ↓

Blog: #prints-2.6

Projects — Prints 2.6

We’ll group the projects together today.

Family pedigrees

An old-yet-new chart type: family pedigrees.


As you can see, it’s a little different from the initial design. This modern incarnation admittedly isn’t as pretty in some ways, but it’s a heck of a lot easier to lay out programmatically.

New things: It shows which child the line comes through, I added the lifespan right after each parent’s name, and I added indicators for the children showing how many kids they had (the dot) and how many marriages (the slash, though if they were married only once and had children, I left the marriage indicator off).

It also supports four generations, admittedly with less space and smaller type:


I tried it without the table borders, by the way. While it was more readable than I expected, it felt a little too loose and unmoored.

The input uses ArchieML and currently looks like this:


family: 1.1
marriage: 30 Dec 1829 in Polanco
father: José Antonio Fuentevilla Fuentevilla // 1809-1878
mother: Manuela Gándara Cobo // 1811-1879
  name: ? // 1830-1831

  name: Josefa // 1832-1834

  name: Francisca Maria // 1835-1843

  name: Maria Remedios // 1838-1898
  children: 6

  name: Maria Luisa // 1841-1916
  marriages: 1

  name: Manuel // 1845-

  name: < Maria Isabel // 1848-1928
  children: 9

  name: Maria Dolores // 1853-1853

  name: José Maria // 1858-1858

# --------------------------------------

family: 2.1
marriage: 29 Feb 1808 in Polanco
father: José Fuentevilla Piñera // 1779-1855
mother: Vicenta Manuela Fuentevilla Ruiz // 1787-1828
  name: < José Antonio // 1809-1878
  children: 9



Right now the family numbering is table-based (column, row), but eventually I think I probably want to make it hierarchical (somehow) so it’s easier to know which cell to put things in.

Timeline charts

Another new chart of sorts: timelines. I’ve been sorting through my Cuban lines and realized I needed some way to map out everybody so I could see the bigger picture.


The input is an ArchieML file that just lists events with dates and optional places:

title: Cuba timeline


event: Antonio Sánchez Rodríguez Díaz marries Ana Josefa Muñoz y Martínez Machado, possibly in El Calvario
daterange: 1790s-1800s

event: Agustin Sánchez Muñoz marries Ana Josefa Montoro, who then dies before 7 Feb 1835
daterange: 1790s-1830s

event: Rafaela Crispina Sánchez Muñoz born to Antonio Sánchez Rodríguez Díaz and Ana Josefa Muñoz y Martínez Machado
date: 1805 Oct 25
place: Matanzas City

event: Domingo Sánchez Muñoz born to Antonio Sánchez Rodríguez Díaz and Ana Josefa Muñoz y Martínez Machado
date: 1807 May 12
place: Matanzas City

event: Antonia Crispina Vargas Hernández is born to José Vargas and Gertrudis Hernández
daterange: 1800s
place: Güira de Melena, Mayabeque


If the date is a range, it’s italicized to show that it’s broader than a specific date.

(I originally was just going to use Google Docs for this, by the way, and made an initial prototype there. Having to do all the formatting manually got old, though, so I scripted it. Now I can just focus on the content.)

Family sheets update

I’ve got almost all the family sheet functionality ported to Node/JavaScript and cleaned up. (The sparklines code now uses tracks and markers in a way that is much more extensible and easier to work with.) In the process, I also revised the resolution (before, it just keyed off the year, but now it uses the month and day if present as well, so spacing is more accurate), added dotted-line support for date ranges (for birth and death), and added a marker for divorce (a skinny X):


Still have a number of bugs to fix, but it’s getting close.

Tabular pedigrees update

I ported the tabular pedigrees to Node/JavaScript and added support for seven-generation charts:


Comparison to the six-generation chart:


The shaded cells, by the way, indicate that I haven’t yet verified those people. Basically a TODO comment for myself.

Can’t wait till Chrome supports border stroke widths smaller than 1pt.

Quick links

Last and sort of least, I’m slowly putting together a page with quick links to the various Torre de’ Passeri civil registration scans on FamilySearch, to save myself some time. Planning to do this for the other localities I do research in as well.

Reply via email or office hours

Links — Prints 2.6

An interesting Hacker News thread about how to prepare for blindness as a software engineer.

Ryan Holiday on swarming to learn things. I like this idea but haven’t managed to do it yet. My interest keeps flitting around.

Bryan Braun on Scratch. Cool.

Steven Johnson on walking as a way to think. Agreed.

Jordan Eldredge on bugs caught by the newish no-constant-binary-expression rule in eslint.

Jeremy Keith’s In and Out of Style talk from CSS Day. Liked this a lot.

Josh Dzieza on writing fiction with AI. Interesting to see how some people have used it. For me, writing the words myself is most of the fun.

Chromium issue 1130512, a bug that vexes my chartmaking. It’s not the end of the world, but I do look forward to when it’s fixed and I can get 0.25pt lines out of Chrome.

Wikipedia page on the etymology of London. Quite liked this.

Alex Chan on taking more screenshots. Something I need to do more often.

Google’s new Carbon language. I basically never write C++ anymore so I would never actually use this, but it’s interesting.

Robin Rendle’s essay in praise of shadows. Love the implementation here.

Robin Sloan on Miyazaki and plots animated by kindness.

Shepherd, a new thing for discovering books.

Axle that allows for 80-degree steering. The video was cool.

Daniel Kao on ArchieML. I’ve switched over to ArchieML for my genealogy charts and generally it’s been good.

Vaskange’s near-infinite zoom. It just keeps going!

The Cube Rule of food identification. Loved this.

David Stern on text rendering.

Olushuyi Olutimilehin on article vs. section in HTML.

British Summer Time, something I’d never heard of until now. I guess I’d just assumed that Daylight Saving Time was only an American thing and the rest of the world didn’t change times (sort of like imperial vs. metric).

Meta adds Rust to allowed server-side languages. I’m beginning to suspect I might like the idea of Rust more than Rust itself, but I also haven’t really written any Rust in almost two years. Need to change that.

Topi Tjukanov’s map of notable people. I’m in love with the way the labels fade in from behind the sphere.

My friend Matt Haggard on a cool wordprint visualization technique.

Vim undo trick. I’ve been using Vim for twenty-six years and never knew about this.

Vim ranges. This past week one of my goals has been to train myself to use Vim’s Ex commands for moving ranges (e.g., :15,20m41). This is something I do often enough (and clumsily enough right now, with row-wise visual select — a lot of js in a row — followed by yank and paste) that I want to learn how to do it super fast. This way is less likely to cause RSI as well.

Forrest Allison on Bun.

Giant leafcutter ant nest in Brazil. Whew, that thing is huge.

Cozy fantasy subreddit discussion on what cozy fantasy is. In my experience it’s a refreshing change of pace.

Thomas Bevan on kicking the news consumption habit. Once in a while I check the news but by and large I don’t (ditto social media) and it does feel better.

Scott Jenson on files. Also his followup. I like files.

Reddit thread on writing advice. Some helpful things.

Aaron Gustafson on equality vs. equity in the context of building software. Great points.

Jennifer Chu on MIT’s new ultrasound stickers. Looking forward to see what this enables.

Elisia Guerena on Angélique Schmeinck’s hot-air balloon restaurant. Great idea. I’m terrified of heights enough that I don’t think I’d ever want to eat at a place like this, though.

Reply via email or office hours

Reading — Prints 2.6

Recent nonfiction reads

  • A New Foreign Policy, by Jeffrey D. Sachs. A bit dry at times, but I learned a decent amount and agreed with the majority of what he says. I’m all for global cooperation as opposed to insidious American exceptionalism. Also, I hadn’t realized how much regime change we’ve forced on the world, how many wars we’ve started for no good reason. America is a troubled country in a lot of ways. (This is something I’ve been gradually realizing over the past few years as I’ve begun reading more history.)
  • The Wizard of Lies, by Diana B. Henriques. I came into this not knowing really anything about Bernie Madoff or even about the 2008 financial crisis (I wasn’t paying any attention to either when they happened). Initially the financial stuff was near incomprehensible and I came quite close to shelving the book, but I stuck with it and it ended up being fine in the end. A sad story, though.

Recent fiction reads

  • Prosper’s Demon, by K. J. Parker. Novella. Good. Didn’t see the end coming. Someday I’ll try Parker’s Tom Holt novels and see if they’re my style, because his Parker work really does suit me. Looking forward to reading A Practical Guide to Conquering the World to finish off the Siege trilogy.
  • The Left-Handed Booksellers of London, by Garth Nix. Enjoyed it a lot. I still haven’t read his Old Kingdom series yet, need to add it to my ever-long TBR list.

Books purchased since last post

  • To Ride Hell’s Chasm — Janny Wurts
  • Good Omens — Neil Gaiman & Terry Pratchett
  • Zero Fail: The Rise and Fall of the Secret Service — Carol Leonnig
  • Holding the Line: Inside Trump’s Pentagon with Secretary Mattis — Guy Snodgrass
  • Iron Truth — S. A. Tholin
  • The Metaverse: And How it Will Revolutionize Everything — Matthew Ball
  • Risen — Benedict Jacka
  • Travels with George: In Search of Washington and His Legacy — Nathaniel Philbrick
  • The Last Viking: The True Story of King Harald Hardrada — Don Hollway
  • Rocket Billionaires: Elon Musk, Jeff Bezos, and the New Space Race — Tim Fernholz
  • The Return of Fitzroy Angursell — Victoria Goddard
  • The Redoubtable Pali Avramapul — Victoria Goddard
  • Petty Treasons — Victoria Goddard
  • Portrait of a Wide Seas Islander — Victoria Goddard
  • Terec and the Wild — Victoria Goddard
  • The Tower at the Edge of the World — Victoria Goddard
  • Aurelius (to be called) Magnus — Victoria Goddard
  • Anno Dracula — Kim Newman
  • 1812: The Navy’s War — George C Daughan
  • If By Sea: The Forging of the American Navy—from the Revolution to the War of 1812 — George C Daughan
  • The Dawn’s Early Light: The War of 1812 — Walter Lord
  • Belladonna Nights and Other Stories — Alastair Reynolds
  • The Wizard’s Butler — Nathan Lowell
  • The Bride of the Blue Wind — Victoria Goddard
  • The Warrior of the Third Veil — Victoria Goddard
  • Stargazy Pie — Victoria Goddard
  • Bee Sting Cake — Victoria Goddard
  • Whiskeyjack — Victoria Goddard
  • Blackcurrant Fool — Victoria Goddard
  • Love-in-a-Mist — Victoria Goddard
  • Plum Duff — Victoria Goddard
  • Putin Country: A Journey into the Real Russia — Anne Garrels
  • The Aeneid — Vergil, translated by Shadi Bartsch
  • Babel: Around the World in Twenty Languages — Gaston Dorren
  • A City So Grand: The Rise of an American Metropolis: Boston 1850–1900 — Stephen Puleo
  • Dune Omnibus: Books 1–3 — Frank Herbert
  • Hooked: Food, Free Will, and How the Food Giants Exploit Our Addictions — Michael Moss
  • Building the New American Economy: Smart, Fair, & Sustainable — Jeffrey D. Sachs
  • Karachi Vice: Life and Death in a Divided City — Samira Shackle
  • Attention Factory: The Story of TikTok and China’s ByteDance — Matthew Brennan
  • 14 — Peter Clines
  • Till Human Voices Wake Us — Victoria Goddard
  • In the Company of Gentlemen — Victoria Goddard
  • Stone Speaks to Stone — Victoria Goddard
  • In the Realms of Gold — Victoria Goddard
  • The Seven Brides-to-Be of Generalissimo Vlad — Victoria Goddard

Guess whose book I’ve been reading and loving.

Reply via email or office hours