{
  "id": "1992-august-tech-tips-tech-tips-tech-tips-tech-tips",
  "slug": "1992-august-tech-tips-tech-tips-tech-tips-tech-tips",
  "url": "https://dwillis.github.io/uplink/article/1992-august-tech-tips-tech-tips-tech-tips-tech-tips.html",
  "year": 1992,
  "month": "August",
  "monthNum": 8,
  "headline": "Tech Tips Tech Tips Tech Tips Tech Tips",
  "kicker": "",
  "author_name": "Elliot Jaspin",
  "author_title": "",
  "affiliation": "",
  "summary": "A database management technique uses the XDB commands Update and Xleft to create a standardized name field by extracting the first portion of company names, allowing grouping and sorting despite spelling variations without manual correction of each entry.",
  "keywords": [
    "database",
    "standardization",
    "deduplication"
  ],
  "topics": [
    "Data & Databases",
    "Technology",
    "Investigative Methods"
  ],
  "technologies": [
    "XDB"
  ],
  "full_text": "Problem: A database that lists people and companies is nearly impossible to work with because of variations in spelling. A company such as Amalgamated Zool Suits might be listed as:\n\nAmalgamated Zoot Suits\nAmalgamated ZootSuits\nAmalgamated Zoot-Suits\nAmalgamated Zoot Suits Inc.\nAmalgamated Zoot-Suit Inc.\nAmalgamato Loot Soots\n\nBecause the database is large, Correcting the spelling of every entry is not an option.\n\nSolution: If we look at the variations in the spelling of Amalgamated Zoot Suits, notice that changes occur somewhere in the last half of the name: We can make use of that fact to create a new name field that uses only the first half of the name field. This is done in XDB by using two commands: Update and Xleft.\n\nThe first step of course is to create a new field in our hypothetical database called Badspell that will hold the new name we are creating. Let us assume we are going to use the first 11 letters of the name field. Thus the \"NewName\" field will be a \"char\" field 11 characters wide.\n\nWe then run the following command:\n\nUpdate Badspell set NewName = xleft(name, 11)\n\nWe can now use the \"NewName\" field to group, sort and order our database. Or can we?\n\nWhile the \"NewName\" field is an improvement, it is not a perfect solution. Notice that the last entry for Amalgamated Zoot suits contains a misspelling with in the first 11 letters. If we try to group on the \"NewName\" field, \"Amalgamatd\" will be seen as a different company. There are two possible solutions: grab fewer letters to get around the misspelling er correct the origional entry and rerum the update command\n\nReducing the size of \"NewName\" might work except that there is also a person in the database named Amalgam, Arnold.\" If we take too few letters, \"Amalgam, Arnold,\" and \"Amalgamated Zoot Suits\" might wind up being lumped together.\n\nIf might be simpler to run the following command:\n\nUpdate Badspell\n\nset NewName - \"Amalgamated\" where xdeff(name,11 Amalgamated\n\nHowever, there also might be two companies who start with the word \"Amalgamated.\" To account for that we could make \"NewName\" held larger and grab more letters from name or alternatively, keep NewName the same size and use the Update command to change\n\n\"Amalgamated\" to \"Amalgam Zoo\" wherever the first 13 letters in \"name\" field are \"Amalgamated Z\" The second approach would leave us with two different \"NewName\" entries:\n\n\"Amalgamaled\" for \"Amalgamated Federated Industries\"\nAmalgam Zoo\" for \"Amalgamated Zoot Suits\"\n\nWhile we may face several more runs to account for such problems, this approach accomplishes two things: It \"Solves\" the large majority of misspellings on the first pass of the database and it allows us to \"Correct\" any other misspellings in subsequent without actually having to go into the database and make the individual changes.",
  "provenance": {
    "extracted_by": "anthropic/claude-sonnet-4-6",
    "extracted_at": "2026-07-05",
    "verified": true
  },
  "similar": [
    {
      "slug": "1992-september-correction",
      "score": 0.32
    },
    {
      "slug": "1992-june-tech-tips",
      "score": 0.228
    },
    {
      "slug": "1997-march-tech-tip",
      "score": 0.223
    },
    {
      "slug": "1992-september-tech-tips-eliminating-happy-faces-and-other-garbage-characters",
      "score": 0.207
    },
    {
      "slug": "1992-july-tech-tips",
      "score": 0.171
    }
  ],
  "html_url": "https://dwillis.github.io/uplink/article/1992-august-tech-tips-tech-tips-tech-tips-tech-tips.html",
  "json_url": "https://dwillis.github.io/uplink/article/1992-august-tech-tips-tech-tips-tech-tips-tech-tips.json"
}