<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Permanent.org</provider_name><provider_url>https://www.permanent.org</provider_url><author_name>Robert Friedman</author_name><author_url>https://www.permanent.org/blog/author/robert/</author_url><title>Upgrades to Uploads - Permanent.org</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="sEChfgRU6c"&gt;&lt;a href="https://www.permanent.org/blog/upgrades-to-uploads/"&gt;Upgrades to Uploads&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.permanent.org/blog/upgrades-to-uploads/embed/#?secret=sEChfgRU6c" width="600" height="338" title="&#x201C;Upgrades to Uploads&#x201D; &#x2014; Permanent.org" data-secret="sEChfgRU6c" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://www.permanent.org/wp-content/uploads/2021/02/deposit-photos.jpg</thumbnail_url><thumbnail_width>1920</thumbnail_width><thumbnail_height>1080</thumbnail_height><description>Over the past few months the Permanent engineering team has been hard at work&nbsp;making fundamental improvements to the way people upload data to their archives.&nbsp; A lot of these&nbsp;changes&nbsp;work behind the scenes,&nbsp;but they were a massive undertaking that is core to the Permanent mission&nbsp;so we wanted to share a little bit about what got done, why, and what we thought about when we designed the new architecture. The Before Times Last year the Permanent code base was having troubles with uploads.&nbsp; This was a serious problem because uploading content for permanent storage is kind of an important part of what people want to do when they sign up for Permanent! The symptoms were clear enough: ... Read More</description></oembed>
