You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
7.8 KiB

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=96e407dbfef5e6ab83daa6dca716c304bdc64c14">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>vcards | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="vcards" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough." />
<meta property="og:description" content="this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough." />
<link rel="canonical" href="http://localhost:4000/personal/2019/04/18/vcards.html" />
<meta property="og:url" content="http://localhost:4000/personal/2019/04/18/vcards.html" />
<meta property="og:site_name" content="josiah ledbetter" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2019-04-18T00:00:00-05:00" />
<script type="application/ld+json">
{"description":"this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough.","@type":"BlogPosting","url":"http://localhost:4000/personal/2019/04/18/vcards.html","headline":"vcards","dateModified":"2019-04-18T00:00:00-05:00","datePublished":"2019-04-18T00:00:00-05:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/personal/2019/04/18/vcards.html"},"@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>josiah ledbetter</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<p>this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough.</p>
<p>One of the things that was unexpectedly frustrating was transferring stuff (photos, contacts, whatever) from my granddads account to my grandmothers. as near as i can tell, a different family member had been helping my grandmother and closed several of my grandfathers old accounts. including email accounts and /iCloud/ accounts.</p>
<p>normally, transferring contacts from one persons icloud to anothers is pretty straight forward (theres an export button on icloud.com), but if you cant succesfully auth to icloud it gets a lot trickier. theres probably a few ways to do this, but the tack i ended up taking was:</p>
<ol>
<li>find a totally different source for the contacts (in this case, my grandfathers outlook 2010 install)</li>
<li>export those contacts to vcards</li>
<li>import those vcards to icloud.com under the new account</li>
</ol>
<p>That is the bones of what happened, but the details kept screwing me over.</p>
<p>first, outlook 2010 contact exports by default come out in an outlook specific format (.msg) that cannot be imported into icloud. ok well fine, surely theres a straight forward way to deal with that.</p>
<p>good news: you can directly export contacts from outlook to vcf
bad news: its fucking hidden behind a “send as business card” dialogue option that is fucking unintuitive. thanks 2010 microsoft.
worse news: it sends a very old .vcf format, 2.1. The minimum I could get working with icloud was 3.0</p>
<p>ok well surely you can convert the 2.1 version to 3.0? in fact, what is even the difference? here is some wikipedia examples:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>BEGIN:VCARD
VERSION:2.1
N:Gump;Forrest;;Mr.
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;GIF:http://www.example.com/dir_photos/my_photo.gif
TEL;WORK;VOICE:(111) 555-1212
TEL;HOME;VOICE:(404) 555-1212
ADR;WORK;PREF:;;100 Waters Edge;Baytown;LA;30314;United States of America
LABEL;WORK;PREF;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:100 Waters Edge=0D=
=0ABaytown\, LA 30314=0D=0AUnited States of America
ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
LABEL;HOME;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:42 Plantation St.=0D=0A=
Baytown, LA 30314=0D=0AUnited States of America
EMAIL:forrestgump@example.com
REV:20080424T195243Z
END:VCARD
</code></pre></div></div>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>BEGIN:VCARD
VERSION:3.0
N:Gump;Forrest;;Mr.;
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;VALUE=URI;TYPE=GIF:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=WORK,VOICE:(111) 555-1212
TEL;TYPE=HOME,VOICE:(404) 555-1212
ADR;TYPE=WORK,PREF:;;100 Waters Edge;Baytown;LA;30314;United States of America
LABEL;TYPE=WORK,PREF:100 Waters Edge\nBaytown\, LA 30314\nUnited States of America
ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
LABEL;TYPE=HOME:42 Plantation St.\nBaytown\, LA 30314\nUnited States of America
EMAIL:forrestgump@example.com
REV:2008-04-24T19:52:43Z
END:VCARD
</code></pre></div></div>
<p>the thing that caused most of the issues for the contact set I was working on was the ~TEL;~ lines. the type declarations, when present, needed to be altered. to fix this is pretty simple:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cat /path/to/dir/* &gt; all-outlook-contacts.vcf
sed -e 's/TEL;/TEL;TYPE=/g' -e 's/VERSION:2.1/VERSION:3.0/g' ../new-contacts/all-outlook-contacts.vcf &gt; ../new-contacts/all-CLEANED.vcf
</code></pre></div></div>
<p>yes thats right, i am very 3 now is most of the work lmao. this worked, but I still couldnt import the vcf files to icloud - it would think for a while, then error saying that at least one of the entries was unreadable. i skimmed through the file visually and found some lines that were interesting - on a few cards there was a LANGUAGE declaration:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cat ../new-contacts/all-outlook-contacts.vcf | grep =en
&gt;N;LANGUAGE=en-us:last first
&gt;N;LANGUAGE=en-us:last first
&gt;N;LANGUAGE=en-us:last first
&gt;N;LANGUAGE=en-us:last first
</code></pre></div></div>
<p>wtf is that, that isnt mentioned in the spec until vcards 4.0</p>
<p>my best guess is that this is just some Fancy Colour from outlook specifically, because nobody else was talking about this based on quick google searches. I just removed it from these 4 cards and went on to import them to icloud succesfully.</p>
<p>the lesson i learned during this process is:</p>
<ul>
<li>dont close peoples accounts right away; make sure everything is prepared before accounts are closed.</li>
<li>by the time i die i should establish a fucking runbook to go over the necessary steps for people who arent technically inclined</li>
<li>open formats are great</li>
</ul>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>