How to Coda with initials?
The first letters of your middle names in legal documents
When we ask for personal data it is often about a first name, last name, email address and so forth. Certain professions like lawyers notate names differently. They use initials that reference the full name. When I was reading the testament of my late father, I read all full names of my siblings. Not their calling names.
The applied logic in this formal document only contained the formal names, not a calling name a no abbreviations.
This subject became important to me when I was improving my personal family & friends doc. This is a kind of CRM I use to keep track of important moments. It notifies me when people are married for x years, have their birthday and so forth. It is an assistant that enables me to reach out in time to friends and family and when needed, will buy me enough time to get a gift. It is one of the best solutions I made in Coda so far. Rather simple and based on a Bill Of Material logic which presents me with up to date contact and address info. More info on this method you find below.
The improvements I had in mind relate to legal texts in which naming conventions slightly differ from our daily usage.
First names and calling names
In my table I used the label first name, while instead I may better use calling name. This is the name we use to call or to reference somebody in a civilized manner. It is on purpose I write about ‘civil’ to prevent swearing names from being included as well as short names used by friends. To be clear, this is not about Johannes who is called ‘Jo’ by his friends. In this context ‘Johannes’ is the calling name, although friends call him Jo, but when he goes for a job interview he may want to introduce himself as Johannes.
Sometimes we label these as regular names as opposed to calling names.
Middle names or christening names
In my family everybody has a christening name of multiple christening names. As I noticed in the legal document my late father ordered, these are the essential names. The calling name is a practical transformation of the first baptist name. His full name was Johannes Cornelis Huizer, but everybody called him Hans. In official documents it was Mr. J. C. Huizer.
In his context the first middle name was transformed into a calling name. I have seen the same logic applied to the full names of my siblings.
Writing a code snippet that handles the naming conventions correctly is maybe country sensitive or even region specific. I did not research this. In Coda we can create per country a specific doc or we can template conventions based on a country in one doc. That is up to you.
Getting the initials
Long story short, we have three options to create initials
- no middle names (only a calling name) and we take the first letter of the calling or regular name.
- one middle name
- multiple middle names
For each scenario we need a solution.
thisRow.middleNames.Split(" ").ForEach(CurrentValue.Slice(1,1).WithName(firstLetters,
Format("{1}",firstLetters))).Join(". ").WithName(Outcome,
SwitchIf(
Outcome.IsBlank(),"",
Outcome.Length() = 1,
Format("{1}.",Outcome), // add a dot to the first and only letter
Outcome.Substitute(Outcome.Last(),Format("{1}.",Outcome))
// replace last letter with letter plus a dot
)).WithName(root,
If(thisRow.middleNames.IsNotBlank(),root,
Format("{1}.",thisRow.regularName.IfBlank(thisRow.callingName).Slice(1,1)))
)
We take alle the middle names (if any) and we slice the first letter off. Next we add a dot to each first letter using the function Format()
The last part of the formula is a bit harder. We first avoid errors in the column (the red triangle) by telling in case no middles names are found, we put nothing in there.
Second we say that when we only find one letter we glue a dot to its tail.
Third, when we have more than one letter, we replace the last letter with the last letter and a dot.
The result of this operation is a string (not a list) of one letter or multiple letters all with dots. Together they are one single list. I stress this point because when I started the exercise, I first created a list of letters, all separated by a comma. In a list you cannot replace the comma with a dot. You have to turn the letters into a string and I glued them together with a Join()
that was based on a dot and a white space. This manipulation takes place in the function Format()
that flattens everything and turns the list into the string.
Glue the calling name to the initials
How are we going to handle multiple middle names and glue it to the calling name?
In Europe we often have formal names and their are composed by the initials and the family name. In my case it becomes C.A. Huizer, while the day to day alternative is Christiaan Huizer. We don’t use a mixed version like Christiaan A. Huizer very often, only when we want unique records.
In our context we want to have unique names in the display column of the table DB Contacts and this may require the not so often used version I just mentioned. On the other hand we sometimes need the formal version, thus the C.A. Huizer notation.
In the United States of America things happen to be different. Mostly the middle name has a single value, thus unlike in Europe it only has one name. Therefor you have only one initial. Second the calling name is glued to this single letter and third, when a suffix exists like Jr, Sr. or I, II etc, this is glued to the end. A possible outcome is for example: Douglass N. Loud Sr.
This info I got after I had an interesting discussion with a New York based lawyer who knew a lot about it. Thanks to him!
I decided to create in a the doc a few versions, one per column so I could later on decide which variation would become the one in the display column. This flexibility in Coda really helps to fine tune the set up at the end.
The formal name in Europe
Salutation, initials and the family name compose together the formal name on the old continent. In certain cases people have titles, I put them at the end, though not sure if that is the right thing to do. The AI response was that formal salutations requires a bit more then something like: ‘dear Earl Huizer’.
It happens that people have no middle names. In this scenario we take the first letter of the first name.
The general solution is a simple Format()
to glue the initials to the last name. Indeed I don’t use the column type Compose: too complicated. Even the recently introduced ‘Calculate’ does not feel like an invite to write your own proper functions.
How did I use AI?
When I needed some insights related to naming conventions the AI is helpful, although I went a few times out of the doc to check with https://bard.google.com/ . Mostly because Bard provides more context.
In the doc itself I cannot replace functions with AI prompts. The outcomes vary and this lack of stability will erode the content of the doc over time. AI is great for creative tasks, but not yet to replace functions. I thought about an address check in my CRM, I tried it, but the outcome wat not good enough yet.
Recent studies on AI have shown great productivity benefits, but the tasks all had to do with creativity, thus new ideas, suggestions and so forth. AI as a stable partner in Coda to replace functions, I don’t see it happen any time soon.
My name is Christiaan and blog about Coda. Since the summer of 2023 mainly about how to Coda with AI to support organisations dealing with texts and templates. Why I focus on Coda AI you can read here: ⤵️
I hope you enjoyed this article. If you have questions feel free to reach out. Though this article is for free, my work (including advice) won’t be, but there is always room for a chat to see what can be done. You find my (for free) contributions to the Coda Community and on Twitter.
Coda comes with a set of building blocks ー like pages for infinite depth, tables that talk to each other, and buttons that take action inside or outside your doc ーso anyone can make a doc as powerful as an app (source).
Not to forget: the Coda Community provides great insights for free once you add a sample doc.