<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>optional.is/required</title>
	<atom:link href="https://optional.is/required/feed/" rel="self" type="application/rss+xml" />
	<link>https://optional.is/required</link>
	<description>optional is required</description>
	<lastBuildDate>Thu, 25 Jun 2026 15:38:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://optional.is/required/feed/"/>
	<item>
		<title>Week #801 &#038; #802</title>
		<link>https://optional.is/required/2026/06/26/week-801-802/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Fri, 26 Jun 2026 15:51:00 +0000</pubDate>
				<category><![CDATA[Briefs]]></category>
		<category><![CDATA[Weeknotes]]></category>
		<category><![CDATA[PoD]]></category>
		<category><![CDATA[print on demand]]></category>
		<category><![CDATA[time tracking]]></category>
		<category><![CDATA[unoffice hours]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=10011</guid>

					<description><![CDATA[A double weekenote, but the second week we were mostly "officially" closed. We continue to almost, wrap-up some projects and starting to plan and invest in others.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Week #801</h2>



<p class="wp-block-paragraph">We offer <a href="https://unofficehours.com">UnOffice Hours</a>. It&#8217;s a 30 minute slot for anyone to book and chat with us about anything. On Monday, we had a lovely chat. It&#8217;s been awhile since a random person reached out, and it was great to meet some new folks and hear what they&#8217;re up too and offer any advice we can.</p>



<p class="wp-block-paragraph">One of the by-products of a lot of experiments, investigations and tests is that we have a bunch of un-used ideas and artwork. This week we looked into Print On Demand services. Maybe we can breathe a little life into some old designs without any commitments. We are in the early stages of just running some of the numbers to make sure we aren&#8217;t loosing any money in listing/seller fees, processing fees and taxes. </p>



<p class="wp-block-paragraph">(I think) We shipped one prototype project this week! Looking back at our week notes, we first mention this in <a href="https://optional.is/required/2025/12/12/week-773-774/">Week #773</a> in early December 02025. Eight months later, we have &#8216;finished&#8217; our part of the development, now it is up to them to work on the slide deck, find investors and raise money, build a team and productize the idea. Our portion was just the iOS app, there is a whole other backend image detection system that we didn&#8217;t touch. We wish them luck and will continue to help in the transition, but we don&#8217;t foresee any further development.</p>



<p class="wp-block-paragraph">Wednesday was Icelandic National Day (<em>Þjóðhátíðardagurinn</em>). The office was mostly closed, but we still had to answer a few messages here and there from our international projects.</p>



<p class="wp-block-paragraph">We managed to meet-up with one team using our Time Tracking software and got some feedback about a few things that were broken and could use some improvements. We were able to cover most everything easily and deployed the updates.</p>



<p class="wp-block-paragraph">The WebRTC project meeting turned into just an asynchronous meeting with a few bugs and improvements. We&#8217;re also getting a new project manager on their side to take-over pushing this project over the finish line as we get more people onboarded to test.</p>



<p class="wp-block-paragraph">On Friday, we finished-up a few tasks in the morning and then closed the office for Week #802.</p>



<h2 class="wp-block-heading">Week #802</h2>



<p class="wp-block-paragraph">Office was closed this week for some much needed travel and research.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Worldmapper VR</title>
		<link>https://optional.is/required/2026/06/19/worldmapper-vr/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 11:11:00 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Cartography]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[AVP]]></category>
		<category><![CDATA[Háskóli Íslands]]></category>
		<category><![CDATA[HÍ]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[vision pro]]></category>
		<category><![CDATA[worldmapper]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9922</guid>

					<description><![CDATA[The Worldmapper app is now available for the Vision Pro.]]></description>
										<content:encoded><![CDATA[
<div class="banner"><a href="https://apps.apple.com/us/app/worldmapper/id6754181237"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/06/avp-worldmapper.jpg" alt="Worldmapper in the Apple Vision Pro"/></a></div>



<p class="wp-block-paragraph">We&#8217;ve cleaned up the Worldmapper app and have released it for anyone to download. <a href="https://apps.apple.com/us/app/worldmapper/id6754181237">Download Worldmapper for the Vision Pro</a>.</p>



<p class="wp-block-paragraph">Previously, we wrote about <a href="https://optional.is/required/2026/02/12/wylds-great-vr-globe/">Wyld&#8217;s Great Globe</a> and how we adapted that concept into an Apple Vision Pro app with the help of team from <a href="http://worldmapper.org">Worldmapper.org</a></p>



<p class="wp-block-paragraph">Just because the app is published doesn&#8217;t mean it is done. We will continue to evolve the app over time with new maps will be added and old ones updated. </p>



<h2 class="wp-block-heading">Outreach</h2>



<p class="wp-block-paragraph">The goal of the project is to be part of the larger outreach program at the University of Iceland (<em>Háskóli Íslands</em>). Working with the Worldmapper team, we took some of their equirectilinear projection maps and worked to display them in a sphere. This produces maps with no distortion &#8211; the bane of any 2D map projection.</p>



<p class="wp-block-paragraph">For the Meta Quests, we created a 5K looping video of the <a href="https://worldmapper.org/natures-heartbeat/">Nature&#8217;s Heartbeat</a>. The video loads in various spherical video players as if you were in the center of the Earth. It is the same benefits as Wyld&#8217;s Great Globe, it removes all the distortion from a regular 2D map projection and puts you front and center.</p>



<figure class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/06/worldmapper-heartbeat.jpg" alt="Frames from the Worldmapper Nature's Heartbeat video" /><figcaption><a href="https://worldmapper.org/natures-heartbeat/">Worldmapper.org | Nature&#8217;s Heartbeat</a></figcaption></figure>



<p class="wp-block-paragraph">For their outreach events they have nice gradient of interactivity based on your skill and knowledge. It starts with paper craft. They have 2D maps that you can cut out, fold and glue into cubes and other 3D shapes. Next, the traditional screens you can view, which quickly moves to larger, touch screens so you can explore the data yourself. Now they have moved into Virtual Reality with a basic looping spherical video. This takes no effort to put on a Meta Quest headset, watch a few seconds of a looping video, enjoy and move on.</p>



<p class="wp-block-paragraph">The most recent step at the top of gradient of interactivity is the Vision Pro and that&#8217;s where we come in. Our experience with Virtual Reality and the Vision Pro joined with Worldmapper&#8217;s depth of content and digital experimentation were a great fit.</p>



<p class="wp-block-paragraph">We decided that the Apple Vision Pro would be the premium experience. There is a hefty initial setup for anyone trying the device. You have to calibrate your eyes and hands for the system to work with gestures. Due to the time it takes to setup and the UI/interaction learning curve, we weren&#8217;t just going to show a 1-minute looping video. It needed to be a place to explore and take it the experience at your own pace.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/06/cartogram-menu.jpg" alt="Screenshot of the menu inside the Apple Vision Pro"/></div>



<p class="wp-block-paragraph">To start with, Worldmapper pulled out 30 cartograms in a series of categories that we put into the menu. When you are in the app you are completely surrounded by the Black Marble photo from NASA. This allows you to get your bearings of where everything is located. Since technically it is inverted if you were really at the center of the earth you&#8217;d see the inside of the Earth&#8217;s Crust, but we keep the map more recognizable. As the next jumping off point, we convert the photo to an illustration of country boundaries, then allow you to select a topic, like number of horses, and distort the landmasses according to a different variable than square kilometers.</p>



<p class="wp-block-paragraph">To keep things simple, all the maps are embedded in the app, which makes it larger. In the future, we&#8217;d like to create an admin tool that allows the Worldmapper team to swap maps without needed to re-submit the app for approval. The downside of this, is we need to cache-up all the images incase the destination where the outreach is happening doesn&#8217;t have a reliable internet connection.</p>



<p class="wp-block-paragraph">We look forward to collaborating more with Worldmapper and the University of Iceland on these outreach projects.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Week #799 &#038; #800</title>
		<link>https://optional.is/required/2026/06/12/week-799-800/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 12:21:00 +0000</pubDate>
				<category><![CDATA[Briefs]]></category>
		<category><![CDATA[Weeknotes]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[TIL]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=10004</guid>

					<description><![CDATA[A double weeknote where we are wrapping-up and consolidating projects.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Week #799</h2>



<p class="wp-block-paragraph">This week we got the green light on a project we&#8217;ve been hovering around for a while. We went down to Miami a few weeks ago to demo the prototype, but this week they finally decided to sign the contract with us to productize the software. We&#8217;re on the hook now for two years of support and production, but in reality we have a short deadline and then the long-tail of bug fixes, optimizations and more.</p>



<p class="wp-block-paragraph">As part of this project, we&#8217;ve move all the code for the app and website into GitHub. From there we&#8217;ve hooked-up auto-building Xcode cloud and Heroku deploys. Now we can use the Issue tracker, from which we can create PRs, merge the fixes and deploy automatically. This means any small text change can be done via the GitHub web interface and be live in minutes.</p>



<p class="wp-block-paragraph">We continue to support a new game idea with a few meetings a week. Usually a Monday kickoff planning with the Engineering team and/or maybe the whole team. Then a Friday show-and-tell. On Friday, we also met with the stakeholders to figure out both the IP licensing and potential markets for the game. For these game projects, we&#8217;re trying to run an A-team and B-team. (We need new names) The idea wasn&#8217;t A-quality and B-quality, it was more large scope and small scope. Running a B-project allowed for junior developers/designers to cut their team on professional projects with a smaller, more manageable scope. This project is a shorter B-project between A-projects, which we need to be careful doesn&#8217;t grow too much in scope into an A-project!</p>



<p class="wp-block-paragraph">On Thursday, we also published an article about our <a href="https://optional.is/required/2026/06/04/til-db/">TIL DB</a> (Today I Learnt DataBase).</p>



<p class="wp-block-paragraph">We also added the &#8220;Fluxcapacitor&#8221; section to the footer. This look at past published articles and tries to resurface other articles written around the current time in the past.</p>



<p class="wp-block-paragraph">Two other projects we have in the background we&#8217;re reaching a logical conclusion. For the older project, we&#8217;ve fixed all the bugs, completed all the tasks and now it&#8217;s moving over to the friends and family tester phase. We&#8217;ll get some feedback from that and move over to UI/UX clean-up, any missing functionality or changes, and see what the next steps will be. Maybe they will go raise some money and build-up a team of their own.</p>



<p class="wp-block-paragraph">The newer project, which we were only suppose to come-in and swap and API, ended-up sucking us in for month with a whole new iOS app(s) connected to a completely new backend. We are pretty much done, now the backend needs to be stable and work for them to pitch this to investors and build-up their own team.</p>



<p class="wp-block-paragraph">See a pattern here? We like to come in, build-up the prototype and help them raise money and build a team. We&#8217;ve done this successfully 2-3 other times now with these two additional ones in the pipeline.</p>



<p class="wp-block-paragraph">About a year ago, we were approached about a project, but the investors turned it down. After mulling on it for a year, we wanted to revisit it. The time to prototype and level of risk are much less. Turns out they went and built it anyway without us and it flopped.</p>



<p class="wp-block-paragraph">Maybe we dodged a headache, maybe we could have done better, maybe we should listen to the investors. Tech feels like 99% of the way to solve the problem, but sometimes it’s less than 50%.</p>



<h2 class="wp-block-heading">Week #800</h2>



<p class="wp-block-paragraph">It is our 800th week since the company was founded&#8230; or was it? On such an occasion we went to look back and our history. The original Optional SLF company had a kennitala of 470211-1130 which is DD-MM-YYYY and a checksum. But since people use 1-31, companies always started with a 4, 5 or 6 (you subtract 3 to get the real date). We&#8217;ve been celebrating and counting since the 7th of February 02011. That gets us to week #800 this week. But we then went to <a href="https://www.skatturinn.is/fyrirtaekjaskra/leit/kennitala/4702111130">Fyrirtækiskrá</a> and looked-up the original company and we sent in the paperwork on the 14th of December 02010. It took nearly 2 months to process! (We probably were missing some paperwork or forgot to sign something)</p>



<p class="wp-block-paragraph">The current incarnation of the company (switching from full-liability too a limited liability company) had to restart our company id and that was registered on the 4th of May 2021.</p>



<p class="wp-block-paragraph">If we conduct our own &#8220;Julian to Gregorian&#8221; calendar adjustment this is actually week #806!</p>



<p class="wp-block-paragraph">Over the weekend, between Week #799 &amp; #800, was the Icelandic holiday Sjómannadagurinn (Fisherman&#8217;s day). We took full advantage of the good weather and went down to the harbor.</p>



<figure class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/06/sjomannadagurinn.jpg" alt="Collage of images from fisherman's day" /><figcaption>We&#8217;re gonna need a bigger boat.</figcaption></figure>



<p class="wp-block-paragraph">This week was designed to get into a meeting groove as summer approaches. We met about our game project idea a few times this week.</p>



<p class="wp-block-paragraph">We also now have weekly meetings about the larger software project. Partly to get feedback from the team and users, but also to make sure we&#8217;re on course to hit the deadlines. (Strangely after last week&#8217;s kickoff meeting, they haven&#8217;t found a time when everyone can meet.)</p>



<p class="wp-block-paragraph">Then we had a meeting about the Icelandic SSO tool that was deprecated a few years ago. We&#8217;ve been working with another company who is implementing the replacement. Something we&#8217;ve been told will just take a few hours of work, somehow has been put off for years! We are keen to close this project, but want to hand it off in a working state.</p>



<p class="wp-block-paragraph">This week felt like shouting into the abyss. We sent a bunch of emails, messages and meeting requests only to be ignored. Sure, people are busy, but at the same time they asked us to do some work and it&#8217;s hard when we don&#8217;t get a response.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TIL DB</title>
		<link>https://optional.is/required/2026/06/04/til-db/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 13:31:00 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Interfaces]]></category>
		<category><![CDATA[Temporality]]></category>
		<category><![CDATA[Visualizations]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dirk]]></category>
		<category><![CDATA[headlines]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[TIL]]></category>
		<category><![CDATA[visualisations]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9748</guid>

					<description><![CDATA[The Today I Learned lists have now been moved into a database to make it easier to query, pivot and explore.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Introducing the <em>Today I Learnt Database</em>.</p>



<p class="wp-block-paragraph">Over the last few years, each day we&#8217;ve been collecting a few &#8216;interesting&#8217; headlines. We dropped them into a text file and at the end of the year went through everything, converted it to HTML and added some tags. It was an interest, but long process. We always had the intentions of doing something with these headlines!</p>



<p class="wp-block-paragraph">We were fortunate enough to attend NewsFoo a few times. At one event, we met Ben Huh who was starting a new way to consume News called &#8220;<a href="https://www.theguardian.com/media/organgrinder/2011/jun/06/cheesburger-ben-huh-newspapers-open-source">The Moby Dick Project</a>&#8220;. You can <a href="https://web.archive.org/web/20111108132147/http://www.benhuh.com/2011/05/23/why-are-we-still-consuming-the-news-like-its-1899/">read more about it on Archive.org</a> since the original post is gone. This eventually spun out to become Circa, which closed and then re-opened under new management.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/moby-dick-project-sketches.gif" alt="Wireframes of the Moby Dick Project, a multicolumn interface for news stories" /></div>



<p class="wp-block-paragraph">The original concept was a sort of three column view with each column changing in speed and curation. The first might be the news story, the second related events and the third comments. We remember it being described as consuming your Vegetables and Sweets! </p>



<p class="wp-block-paragraph">What struck a cord with us was that there are plenty of stories that you say to yourself &#8220;Hey remember when that happened, did they ever find out why?&#8221;. Traditional news websites seem to be setup to show you articles and are not great at stringing things together. Wikipedia isn&#8217;t bad, but the content keeps getting written over and it is objective as opposed to user-generated comments.</p>



<aside><p>Back in 02009 (around the time we heard about Project Moby Dick), the Air France Flight 447 had unexplainably crashed in the Atlantic flying from Rio de Janeiro, Brazil, to Paris. It was only recently in 02026 that Airbus was found at fault.</p><p>That story took 17 years to develop and still might not be over.</p></aside>



<p class="wp-block-paragraph">When we started to collect our headlines, we wanted a way to track long story arcs. If we saw a headline in January, then again maybe 4 to 6 weeks later with something more or even a resolution, we want a way to thread them together. In our world of headline click-bait, we rarely get to see longer trends. That is one of the goals we wanted to achieve with our TIL headlines project.</p>



<p class="wp-block-paragraph">Todo all this, we needed to move it out of these text articles into something more dynamic and clickable. Something that could continue to evolve and have old headlines become richer with the addition of new.</p>



<p class="wp-block-paragraph">In our spare time, we converted the old HTML and tags into SQL statements and loaded everything up in to a relational database. That allowed us to make dynamic connections. We can browse by year, month, day or tag. You can search and filter and we can get frequency counts over time to show the number of mentions of a specific topic.</p>



<p class="wp-block-paragraph"><strong>You can browse the TIL DB at <a href="https://til.optional.is">https://til.optional.is</a></strong></p>



<p class="wp-block-paragraph">What we&#8217;ve done so far are &#8220;table stakes&#8221;. It&#8217;s what you would expect from linked data: the ability to browse, pivot between topics and dates.</p>



<p class="wp-block-paragraph">Our goal was to take it one step further. Back in 01998, Matt Webb created <em>DIRK: The fundamental connectedness of all things</em>. It was an RDF store of assertions in the form of &#8220;Subject Predicate Object&#8221;.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/archive-org-dirk-2002.png" alt="Screenshot of DIRK from 02002" /></div>



<p class="wp-block-paragraph">For instance: <em>Reykjavik</em> <span style="text-decoration: underline;">is in</span> <em>Iceland</em>. <em>Iceland</em> <span style="text-decoration: underline;">is in</span> <em>Europe</em>. Therefore, we can conclude <em>Reykjavik</em> <span style="text-decoration: underline;">is in</span> <em>Europe</em>. If you string enough of these assertions together you can get to some interesting connected places. To make our TIL DB more interesting, we start to write some of our own assertions based on the existing tags we put on the headlines. This adds more value to the tags and focuses our attention on what tags to use.</p>



<p class="wp-block-paragraph">For instance: <em>Betty White, beloved and trailblazing actress, dies at 99</em> was tagged <strong>obituary, tv, &nbsp;Betty White</strong>. We can use that to make a few assertions:  <strong>Betty White</strong>&nbsp;is connected to&nbsp;<strong>obituary</strong>&nbsp;because&nbsp;<em>she died at the age 99.</em> <strong>Betty White</strong>&nbsp;is connected to&nbsp;<strong>tv</strong>&nbsp;because&nbsp;<em>she stared in the Golden Girls.</em></p>



<p class="wp-block-paragraph">This allows us to see how <strong>Betty White</strong> is connected to other tags through <strong>tv</strong> or <strong>obituary</strong> and why. Much like DIRK, we can click through various assertions, but we are trying to tie ours to facts in headlines.</p>



<p class="wp-block-paragraph">We built a web form to connect any two tags in our system so you can see the steps between them. It is a slow process which will grow worse over time with more and more content. The fun is seeing how two random terms are related and how few steps it takes!</p>



<h2 class="wp-block-heading">Just use AI</h2>



<p class="wp-block-paragraph">Artificial Intelligence is certainly the buzzword <em>soup de jour</em> these days. So let&#8217;s look at how and where AI could be useful.</p>



<p class="wp-block-paragraph">We are curating our headlines that we save based on lots of factors: importance, likelihood of a longer arc, non-reoccurring events and frequency. Every fall we get a new iPhone, every winter it snows; those are not headlines worth collecting for longer arcs. The Ukrainian-Russian war is still on going, and we&#8217;re not saving headlines of daily attacks &#8211; that&#8217;s (sadly) now background noise. The curation will stick with us for now.</p>



<p class="wp-block-paragraph">Tagging is a tedious task that we&#8217;ve asked AI to help with. We have a giant json dump of headlines and tags with their corresponding database ids. The AI can ingest that easily and try to make some recommendations. That works for most things, it has some false-positives, but also feels a bit like it hits a local maximum. It heavily recommends existing tags and isn&#8217;t great at making new ones. It doesn&#8217;t &#8220;know&#8221; (it&#8217;s just a statistical machine) what new tags are useful or important.</p>



<p class="wp-block-paragraph">We tried to get AI to write short assertions and it completely fell apart. The headlines are so short and there is extra, external knowledge that the AI doesn&#8217;t have. Their suggestions were longer than the headline and often just wrong. That&#8217;s a lost cause.</p>



<p class="wp-block-paragraph">The two key insights people have told us about AI is that: </p>



<ol class="wp-block-list">
<li>It doesn&#8217;t know anything current. It is not a web crawler so don&#8217;t ask it about current events (like today&#8217;s headlines!)</li>



<li>Rather than ask it to do something, ask it to write a script to do that. Then it is repeatable and deterministic outside of their AI ecosystem.</li>
</ol>



<p class="wp-block-paragraph">We do use script to convert our text file to sql statements and scripts to export/dump the database into json formats. AI could help write these scripts, but that&#8217;s just fancy auto-complete/spell-check. There is no &#8220;AI&#8221; in the product.</p>



<h2 class="wp-block-heading">Next Steps</h2>



<p class="wp-block-paragraph">Everyday we continue to collect headlines and each month we try to import them into the database with tags. We are very far behind on the assertions. We need to make ourselves a small tool that just shows us a few un-asserted tags each day and we take smaller nibbles to add more metadata.</p>



<p class="wp-block-paragraph">We&#8217;ve also considered away to make it more wiki-like and allow anyone to edit (or suggest) changes to tags and assertions. We&#8217;re not sure if the effort to build it compared to the audience actually contributing  is worth it right now.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/til-db-nyc-tag.png" alt="Screenshot of the frequency of the tag NYC over time and related tags" /></div>



<p class="wp-block-paragraph">There are probably some smaller statistical tasks which we can add. Right now we chart tag frequency by month and you get a really good overview of trending topics. There are certainly more statical functions we can add like standard deviation, time between headlines, etc. Our advanced search allows for selecting a few tags and only showing headlines with ALL those tags (an AND search). We could try to do more frequency analysis on these 2 and 3 tag combinations.</p>



<p class="wp-block-paragraph">The bare minimum is for us to continue to collect headlines. Once we have the data we can always add more metadata at a later date.</p>



<p class="wp-block-paragraph"><strong>Go and explore the TIL DB at <a href="https://til.optional.is">https://til.optional.is</a></strong> see what&#8217;s missing and let us know what can be improved.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Week #797 &#038; #798</title>
		<link>https://optional.is/required/2026/05/29/week-797-798/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Fri, 29 May 2026 13:31:00 +0000</pubDate>
				<category><![CDATA[Briefs]]></category>
		<category><![CDATA[Weeknotes]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[meetings]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sso]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9931</guid>

					<description><![CDATA[A double weeknote with another holiday break. We did manage to start a few new projects and wrap-up a few others.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Week #797</h2>



<p class="wp-block-paragraph">We started the week off with a few meetings. All our surveys are done, so the team had a meeting to plan some summer projects and what needs improving for next school year. We also met with another friend about some microcontrollers to manage LED strips. Hopefully this will be useful for a potential upcoming project.</p>



<p class="wp-block-paragraph">We&#8217;ve been tinkering on our Split-fount camera app for a few weeks now and decided to just release it. For the rest of the summer it is free and you can <a href="https://apps.apple.com/us/app/sf-camera/id6767219686">download SF Camera here on the iOS App Store</a>.</p>



<p class="wp-block-paragraph">By Wednesday we had worked on 9 different projects. Sometimes it&#8217;s fun to have a buffet of projects to pick and choose from, sometimes the context switching kills us. You can&#8217;t win.</p>



<p class="wp-block-paragraph">More Backup woes. We have pretty good coverage of all our back-ups, but we continue to (sometimes painfully so) what&#8217;s missing. This week, we&#8217;re trying to figure out a good system for some iPad apps that do NOT save their data outside of the app container. Many apps are nice and save your data to iCloud storage or iCloud Drive. Then you can easily access it on another device and back it up. We found a few apps that are 100% self-contained. We deleted one and the multitude of pop-ups said &#8220;This will delete the app and its data&#8221; and we didn&#8217;t think about what that actually meant. The data isn&#8217;t settings or removing the data from this device &#8211; it was a complete deletion. So we had to restore the iPad from a backup to get the data back. The iPad backup was a week old, so now we&#8217;re in that window to get some data back, we might loose something we created in the last week. Luckily that wasn&#8217;t a problem, this time! Our next step is to look into how to better backup this app data to prevent this from happening again.</p>



<h2 class="wp-block-heading">Week #798</h2>



<p class="wp-block-paragraph">Monday was a holiday, so we started the week on Tuesday with a dud meeting. We did some prep work and then on the call no one was ready to review it. So we&#8217;re back to finding a time to have the same meeting again, but this time we review the project.</p>



<p class="wp-block-paragraph">The exciting world life insurance is upon us as well. We got a cold call about switching life insurance and having the company pay for it. We sat on a sales call for a bit but now need to figure out what todo next.</p>



<p class="wp-block-paragraph">On Wednesday we fixed a few bugs on our Xero/Django project and managed to spend half-a-day bring all the libraries and code up-to-date. We went from version 2 of Django to version 5. It took a few intermediate steps and lots of tests and checking, but we got there in the end. Hopefully, this will keep things current for a while and a bit faster for the customer.</p>



<p class="wp-block-paragraph">On Thursday we got the green light on a big project. This one has a potential to become it&#8217;s own company and project which we&#8217;d be a small owner. This is the culmination of a few years of working together with another company on marketing tools and now a sales tool. We have a great working relationship with them and we think there is a lot of potential here for future opportunities.</p>



<p class="wp-block-paragraph">For the PETALS project, we&#8217;re mostly focused on improving the sign-up and login process. As part of that, we implemented a magic link email login. Rather than the forgot my password dance, you can request a temporary link via email that logs you in. The next portion was to implement a Single Sign On library to support logging on with Google, Microsoft, Apple and others. It is processing slowly. The technology part is working, now to re-adjust the login and sign-up flows.</p>



<h2 class="wp-block-heading">Bric-à-brac</h2>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/whatcable.png" alt="Screenshot of the What Cable tool"/></div>



<p class="wp-block-paragraph">In reference to a recent article about <a href="https://optional.is/required/2026/05/07/ubs-c-non-power-delivery/">USB-C Non-Power Delivery</a>, we were pointed to <a href="https://www.whatcable.uk">https://www.whatcable.uk</a> It is a small utility that has a nice UI to tell you about the cable and device you have plugged in. (It took us awhile to understand the output) With this you can see what the power and data rating is for the cable and device. If there is a mis-match you can find the optimal cable pair. After a bunch of tests, we realized that the only major data transfer we&#8217;re doing with connected devices is backups. Sure we plugin the phone and transfer some pictures over a lower connection, but switching cables is a savings of only seconds-to-minutes. If we use the faster cables that come with our external hard drives, and we do because they are the only devices that take the funky USB Micro-B connection.</p>



<p class="wp-block-paragraph">The office is near the Downtown Reykjavik Airport. There is ALOT of overhead traffic. It&#8217;s gotten to the point where we can tell by the sound that this isn&#8217;t a &#8220;normal&#8221; plane. This shortcut for iOS is great! <a href="https://whatsoverhead.com">https://whatsoverhead.com</a> You can just say &#8220;Hey Siri, what&#8217;s overhead&#8221; and it will read back some flight info. Since it is a shortcut you can see exactly how it is all working and salt-to-taste. It even works on a HomePod!</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Split-Fount Camera</title>
		<link>https://optional.is/required/2026/05/22/split-fount-camera/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Fri, 22 May 2026 12:21:00 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[photos]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9938</guid>

					<description><![CDATA[We had an itch to scratch to see if we could make this gradient camera. It turns out we could and the results have been loads of fun!]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We continue to dabble in <a href="https://optional.is/required/category/photography/">unique camera apps</a>. After a bunch of code refactoring, we have a solid base to go from idea to prototype to new app quickly. That means we can experiment with new ideas and see if we like them. Getting into the field and snapping images tells you a lot more than just imaging the possibilities.</p>



<p class="wp-block-paragraph"><strong>TL;DR</strong> You can <a href="https://apps.apple.com/us/app/sf-camera/id6767219686">download the SF Camera on the iOS App Store</a> for Free until the price goes up September 02026.</p>



<p class="wp-block-paragraph">We have a folder called &#8220;Inspiration&#8221; which we file away interesting images and ideas. Every once and awhile we browse through the folder when we need something new. As we recently browsed through, we saw that we saved several beautiful gradient, screen printed images. This is sometimes called &#8220;Rainbow Roll&#8221; or &#8220;Split-fount&#8221; screen pulls.</p>



<p class="wp-block-paragraph">We liked this effect and tried to replicate it in some image editing software. It&#8217;s pretty easy and straight forward. </p>



<figure class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/sf-steps.jpg" alt="Four screenshots of the steps to apply the Split-Fount style effect"/></figure>



<ol class="wp-block-list">
<li>Select your base image. </li>



<li>Convert it to black and white (Salt to taste). </li>



<li>Create a second layer and put a color gradient over that. </li>



<li>Convert that gradient layer from blend mode &#8220;Normal&#8221; to blend mode &#8220;Screen&#8221;. The black and white pixel values control the color that shows through.</li>
</ol>



<p class="wp-block-paragraph">Even though a lot of our filters and camera effects can be done in post-processing, we really enjoy seeing through the view-finder the finished concept. Rather than take the color photo and go through these steps, we find it easier to compose the shot as we see the effect. It is a trade-off since in post you can infinitely tweak colors and other settings, but shooting as you see it means if you&#8217;re happy, one-click and you&#8217;re done &#8211; ready to share.</p>



<p class="wp-block-paragraph">(Split-Fount) SF Camera was designed to create impactful photos quickly and easily. We have a limited pallet of colors, 11 so far, that you can swipe to choose the top and bottom gradients. The black and white image underneath is one designed to create high-contrast. We also allow you to invert the black and white to create interesting alternatives to the regular screen print style.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/split-fount-chips.png" alt="Eleven color chips representing the gradient options." /></div>



<p class="wp-block-paragraph"><a href="https://apps.apple.com/us/app/sf-camera/id6767219686">Download the SF Camera on the iOS App Store</a> for Free until the price goes up September 02026.</p>



<p class="wp-block-paragraph">With some of our other camera apps, you can always go into the photos.app and &#8216;revert to original&#8217;. This will remove the gradient and black and white effect and get you back to the source image. From there you can recreate the effect or do something completely different with the photo. Using SF Camera does NOT lock your photos into only this effect.</p>



<h2 class="wp-block-heading">Future Improvements</h2>



<p class="wp-block-paragraph">To change the gradient colors you can tap the text at the top to cycle through, but we&#8217;re mostly focusing on swiping! It is a hidden UI that is intuitive once you know it exists. We updated the swipe code to not only know what direction, but also which region (top/bottom/left/right). When you swipe left on the top half, we can cycle only through the top gradient color. Swiping up or down cycles through both. This has worked really well once you know it exists. But as we add more features and don&#8217;t want to overload or confuse the swipe motions.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/bw-samples.jpg" alt="A Colorful source image and a series of different grayscale images derived from the source image and how that affects the gradient."/></div>



<p class="wp-block-paragraph">Not all greyscale images are equal! There are lots of ways to make a black and white image. Currently we are using an equation to make a hard light greyscale with lots of contrast. This has worked really well, but we took a photo or a bright red stop sign on a beautiful blue background and everything was equally grey. There was no contrast when applied the color gradient. The simplest way to solve this is to use different methods of converting color images to greyscale. Only take the Red channel, or only the Blue or Green. That would fix our previous Red/Blue problem, but now we&#8217;re adding more work onto you. It is probably worth it, but how it gets added and implemented is still up for debate.</p>



<p class="wp-block-paragraph">Even though the app is live for anyone to download, there are still a bunch of improvements and ideas we&#8217;d like to implement.</p>



<h2 class="wp-block-heading">Examples</h2>



<p class="wp-block-paragraph">We made this camera app on a whim over the course of a few days. Then spent a few weeks refining some of the colors, options and interactions. It is a fun, cheerful camera that has completely taken over our camera roll!</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/sf-camera-collage.jpg" alt="A collage of 10 different images with color gradients taken with the SF Camera" /></div>



<p class="wp-block-paragraph">If you download the app and enjoy it as much as we do, please share your images and let us know.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60e.png" alt="😎" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2600.png" alt="☀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4f7.png" alt="📷" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Happy summer snapping!</strong> <a href="https://apps.apple.com/us/app/sf-camera/id6767219686">Download the SF Camera on the iOS App Store</a>. </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Week #795 &#038; #796</title>
		<link>https://optional.is/required/2026/05/15/week-795-796/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Fri, 15 May 2026 12:21:00 +0000</pubDate>
				<category><![CDATA[Briefs]]></category>
		<category><![CDATA[Weeknotes]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[LEDs]]></category>
		<category><![CDATA[meetings]]></category>
		<category><![CDATA[photography]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9842</guid>

					<description><![CDATA[Another double weeknote, but again a shortened week. Lots of meetings and progress in the background.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Week #795</h2>



<p class="wp-block-paragraph">On Thursday we had an idea for camera filter. It has based partly on Hatch Show Prints and partly on Gradient overlay photos. It is a pretty easy effect to replicate in any image editing software. You have your base image, convert it to black and white, adjust the contrast/brightness to taste. Then on a second layer add a gradient and change the blend mode to &#8220;screen&#8221;. Even though this is easy to do in software, it is also fun to see it being applied in realtime with the colors you choose. This allow you to better compose the image and quicker to snap and share.</p>



<p class="wp-block-paragraph">We&#8217;re trying to wrap-up a few projects before starting a new one. Several months ago we were brought onboard to just &#8220;Update an API in an app&#8221; which lead to a MUCH bigger mess. We re-wrote the whole thing, changed the API 2 or 3 more times and switched backend partners. This week, we finally got to the state where we can be &#8220;done&#8221;. It is now their job to turn this prototype into a product. They plan on raising money and building a team around the idea. It&#8217;s be great to help, but now we need to move to other projects.</p>



<p class="wp-block-paragraph">For the WebRTC project, we&#8217;ve added more sample content. We&#8217;re experimenting with vertical video content and all the samples we can find are &#8220;shorts&#8221;, so we had to manually crop some longer videos into a vertical format as a test.</p>



<p class="wp-block-paragraph">We published <a href="https://optional.is/required/2026/05/07/ubs-c-non-power-delivery/">UBS-C Non-Power Delivery</a>, because we&#8217;re always trying to optimize our travel cable carry and this threw a wrench in the gears!</p>



<p class="wp-block-paragraph">The bigger project we&#8217;re moving into is a result of our trip to Miami. We presented and pitched some prototype ideas on the request of a client. Their internal team now needs to make the call to use this new platform or a more expensive existing one. They are under massive deadline pressure, so it makes sense to go with what works. We&#8217;ve split the project into 4 parts and we&#8217;ve got the green light on the first part (not our team), the second part is controlling a bunch of LEDs. It looks like we can start exploring using an ESP32 and string of LEDs to get an iOS app to turn them on or off on demand. The 3rd part is the proper web admin tool and iOS apps. The 4th part is integrating their CRM of choice into the web app to keep things in sync. They definitely want todo steps 3 &amp; 4, but maybe not for any summer deadlines.</p>



<h2 class="wp-block-heading">Week #796</h2>



<p class="wp-block-paragraph">This is another short week here in Iceland. Thursday is a public holiday and Friday is a write-off as well.</p>



<p class="wp-block-paragraph">Monday turned out to be a day full of follow-up meetings on various projects: 11:00, 12:00, 14:00, 15:30, &amp; 20:00! A lot was accomplished and it unblocked us to continue the rest of the week.</p>



<p class="wp-block-paragraph">Tuesday started with an early meeting. We needed a tool to manage phrases in an upcoming game prototype. We could do it in the Unity editor, but we decided not too since that would be a bit bulky for someone to do quick &#8216;live-ops&#8217; edits. Instead, we built a quick PHP website with an sqlite backend to manage these phrases. With a JSON dump we can now easily import into the Unity project and even push changes back to the website.</p>



<p class="wp-block-paragraph">In the background to all these tasks, we still have two lingering projects. Last week we tried to finish-up everything for 1 small iOS app, but this week we got a request to add 3 more small features. It depends on some backend changes (which we&#8217;re not part of) but then we can implement what&#8217;s needed.</p>



<p class="wp-block-paragraph">The other software project still has not officially been green-lit, so we&#8217;re working on it enough to show progress, but it can&#8217;t take all of our time right now either.</p>



<p class="wp-block-paragraph">We continue to work on the Gradient Camera app, which has been renamed to <a href="https://en.wikipedia.org/wiki/Split-fount_inking">Split-fount</a>. It&#8217;s not a name that rolls off the tongue, so we wouldn&#8217;t say it&#8217;s final, but it does better explain what it does.</p>



<figure class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/gradient-chips.png" alt="11 color chips representing the options in the Split-fount camera app" /></figure>



<p class="wp-block-paragraph">We also settled on 11 color gradient options. They run the spectrum and offer bright options that make an impact. We&#8217;re very happy with these options and will continue to snap more photos as tests, but we don&#8217;t expect to expand or change these much.</p>



<p class="wp-block-paragraph">We also added an &#8220;invert&#8221; option. We were finding that on grey, dreary days, the sky was so white in the photos we never really say the top gradient color. When you invert the image, it flips the black and white image to a negative and then applies the screen gradient to that. It is a completely different look and feel.</p>



<figure class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/split-fount-examples.jpg" alt="Example photos"/><figcaption>Several example photos using different gradient colors. The last image uses the invert feature making the trees white.</figcaption></figure>



<p class="wp-block-paragraph">This all can be done in post-production, but there is something magical about framing your shot and seeing how the final product will look. You change your angle, position and composition to make sure you capture the feeling you want.</p>



<h2 class="wp-block-heading">Bric-à-brac</h2>



<div class="banner"><img fetchpriority="high" decoding="async" title="hieroglyphs styled" src="http://optional.is/required/wp-content/uploads/2009/12/hieroglyphs-styled.png" alt="hieroglyphs styled" width="600" height="125" srcset="https://optional.is/required/wp-content/uploads/2009/12/hieroglyphs-styled.png 600w, https://optional.is/required/wp-content/uploads/2009/12/hieroglyphs-styled-300x62.png 300w" sizes="(max-width: 600px) 100vw, 600px"/></div>



<p class="wp-block-paragraph">Our friend <a href="https://meet.andr3.net">Andr3</a> alerted us to this posted entitled: <a href="https://www.trojan-unicorn.com/village/warriors/david/blog/articles/2522-welcome-the-entire-land">Welcome The Entire World</a>. This is in reference to a presentation we gave at Codebits in Lisbon, Portugal, back in 02009. You can read <a href="https://optional.is/required/2009/12/03/welcome-the-entire-land/">the back story for Welcome the Entire Land</a>. It was one of those follies that has somehow struck a cord with folks!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>UBS-C Non-Power Delivery</title>
		<link>https://optional.is/required/2026/05/07/ubs-c-non-power-delivery/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Thu, 07 May 2026 13:31:00 +0000</pubDate>
				<category><![CDATA[Briefs]]></category>
		<category><![CDATA[You're doing it wrong]]></category>
		<category><![CDATA[cables]]></category>
		<category><![CDATA[EU]]></category>
		<category><![CDATA[PD]]></category>
		<category><![CDATA[Power Delivery]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[USB-C]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9865</guid>

					<description><![CDATA[In our quest to minimize our electronic support travel kit, we hit a snag with non-PD devices.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">For a while now, we&#8217;ve been trying to both minimize and optimize our cable and power travel kit.</p>



<p class="wp-block-paragraph">Back in Jan-02025, we wrote <a href="https://optional.is/required/2025/01/28/optimized-charging/">Optimized Charging</a> about our attempts to figure out what is the maximum power draw from various devices. Maybe those big power-bricks went over board for most devices.</p>



<p class="wp-block-paragraph">This time we&#8217;re back to the opposite direction. We&#8217;ve acquired several &#8216;fun&#8217; bits of hardware that are certainly not premium Apple devices. As such, they are usually USB-C charging ports; thanks to the EU e-waste rules attempting to minimize cables and plugs, but these devices tend to ship with a USB-C to USB-A cable.</p>



<p class="wp-block-paragraph">That&#8217;s annoying because we&#8217;re doing our best to move to JUST USB-C to USB-C cables to minimize what we need to take with us. When we plug-in our USB-C candy bar burner phone to a 20W Apple USB-C PD plug, nothing happens. Sometimes the manufacture recommends to use the plug that came with their device. Which is exactly what we&#8217;re trying to avoid.</p>



<p class="wp-block-paragraph">After some digging we realized that these &#8216;cheap&#8217;, &#8216;fun&#8217; hardware toys were shipping with a USB-C to USB-A cable is because USB-A will only pass through (up to) 15W of power, defaulting to something closer to 5W. When we were plugging in a USB-C to USB-C cable from the device to the charger, the charger was using the PD (power delivery) to try to negotiation with the device how much power to actually supply. Since these &#8216;dumb&#8217; devices were not PD compatible, they never answered the hand-shake and therefore power never started flowing.</p>



<p class="wp-block-paragraph">Just having a USB-A in the chain between the PD Plug and the device stops the handshake and limits the power way down. Then no negotiation is needed and power flows.</p>



<p class="wp-block-paragraph">Using a 35W Apple duel USB-C PD plug, we plugged in a USB-C to USB-C cable to our burner phone and there was no charge. We swapped the cable for a USB-C to USB-A cable, with a USB-A to USB-C adapter and plug that into the 35W plug. The burner phone immediately lit up charging!</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/05/cables-982x1024.jpg" alt="Three orientations of how to plug in the device to power plug. USB-C to USB-A with a USB-C adapter that charges. USB-A with USB-C adapter to USB-C no charge. USB-C to USB-C no charge." /></div>



<p class="wp-block-paragraph">If any non-PD device comes along with us we now have to figure out a new system. </p>



<ol class="wp-block-list">
<li>Keep our USB-C only cables and find a very lower Wattage plug that is USB-C and not PD and bring that along.</li>



<li>Bring along a USB-C to USB-A cable and a USB-A plug</li>



<li>Bring along a USB-C to USB-A cable and a USB-A to USB-C adapter</li>
</ol>



<p class="wp-block-paragraph">It will probably be option 3, simply because when we get onto an airplane or hotel they usually still have USB-A plugs. Which means we were carrying a USB-C to USB-A adapter already, we could forego that and just bring the cable.</p>



<aside><p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In our testing, we also ran into another problem. Some of the cheap USB-C to USB-A cables (even C-to-C cables) were only meant for charging. That&#8217;s fine for most cases, but sometimes we wanted to connect the device with a laptop to extract photos or other media. Having only a charging cable meant the device never showed-up on the computer when plugged in. Be sure to check that the cables you bring can also transfer data, not just power!</p></aside>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Week #793 &#038; #794</title>
		<link>https://optional.is/required/2026/05/01/week-793-794/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Fri, 01 May 2026 12:21:00 +0000</pubDate>
				<category><![CDATA[Briefs]]></category>
		<category><![CDATA[Weeknotes]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[boarding pass]]></category>
		<category><![CDATA[infrared]]></category>
		<category><![CDATA[miami]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9822</guid>

					<description><![CDATA[A double weeknote that resembled Swiss cheese! Between travel and public holidays there was a lot of stop and start.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Week #793</h2>



<p class="wp-block-paragraph">This week we wrapped-up several surveys that were lingering from March and finished directly pestering high school students and now turned it over to the schools to get the minimum response rate.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/miami-trip.jpg" alt="Collage of images from the Miami Trip"/></div>



<p class="wp-block-paragraph">On Wednesday we started our trip home from Miami. We were there almost a week having meetings, checking-in with friends and quickly prototyping for more meetings. Overall, the meetings went well, it was fun to get out and see Miami, and we made a few new friends.</p>



<p class="wp-block-paragraph">On Thursday, it was a public holiday here in Iceland it was the First Day of Summer. It is also the start of the Old Icelandic month Harpa, which is the start of the six month summer period. The first day of winter is not really celebrated, but it is trying to be re-branded as Meat Soup Day in preparation for the cold months ahead.</p>



<p class="wp-block-paragraph">We published an article about <a href="https://optional.is/required/2026/04/23/100-year-old-spatial-images/">100 year old spatial images</a> that we&#8217;ve been experimenting creating. It has been a fun project that has some interesting possibilities going forward.</p>



<p class="wp-block-paragraph">In the background, we continue to update our Web app for the Australian Concreters. The more they use it, the more they need small fixes here and there: More columns in the table, adding public holidays to the planning calendar, etc. We&#8217;re over the hump of getting the app working, now we&#8217;re making improvements and refinements.</p>



<p class="wp-block-paragraph">We&#8217;re always improving our backup regime and this week we started to revisit the old MacBook Pro from 02016. Currently the laptop is being used as our photo database. Hardware-wise it is a 1TB SSD, but the keyboard is broken and it is an Intel machine with limited support. To keep our large photo library off our working computer we are using this one to store photos. We really need to keep those back-ups in triplicate: LOCKSS (&#8220;Lots of Copies Keep Stuff Safe&#8221;). Currently, the whole computer gets backed-up with Time Machine and then replicated to an air-gapped external HD and also saved offsite. The issue we realized is that if that computer dies, we don&#8217;t actually want to restore the whole HD Image to a new computer, we just want that photo library! It is a bit of a waste, but right now it is easiest to continue to use Time Machine to automatically and periodically backup. We can mount the <code>.sparsebundle</code> file and retrieve any file without needing to do a full restore. Now the task is to delete all the un-used apps, preferences, etc. to lighten the backups of the old MacBook Pro.</p>



<h2 class="wp-block-heading">Week #794</h2>



<p class="wp-block-paragraph">It is another short week because Friday is May 1st. That&#8217;s another public holiday in most of Europe.</p>



<p class="wp-block-paragraph">This week we spent mostly dusting around the edges of things. We have a small iOS app project around video feed from various cameras. We&#8217;re waiting for some backend updates before we can finalize it. We met with the team, talked with the manufacturer and we think we&#8217;ve cracked how to get the info we need. </p>



<p class="wp-block-paragraph">We&#8217;re also waiting for another project to be green-lit. Our contact is working hard to sell the idea internally and almost everyone one is on board. The last hold-outs are super busy and behind schedule. They are willing to go with an existing, tested company, then work with us to build something new. Which totally makes sense, but we&#8217;re still in the running, if not for next month, defiantly for the future. So to prep and not be under some horrible deadline stress, we started on the Django Web admin tool portion. This is going to need to be done no matter what, so we setup some basic models, authentication and file uploading.</p>



<p class="wp-block-paragraph">We are working on a time tracking tool that tightly integrates with our accounting software. We&#8217;ve had a few external teams use it and this week we fixed a few more bugs and added a few new features that we needed. We took over direct control of a project down in Australia, so we needed to change all the hours from one project to another. Same thing, different entities to invoice. So we added a bulk time log update. While we were in there we fixed a few other bugs and did a bit of UI clean-up.</p>



<h2 class="wp-block-heading">Bric-à-brac</h2>



<iframe width="560" height="315" src="https://www.youtube.com/embed/XFXHwz8PgcY?si=PVkkXNath0bMWZZR" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">Being in the US this week, we managed to watch <a href="https://www.pbs.org/show/life-unearthed-with-ariel-waldman">Life Unearthed by our old friend Ariel Waldman</a>. Normally it is geo-locked, but not when you&#8217;re inside the geo fence. If you can you should definitely check it out!</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/boarding-pass.jpg" alt="02026 Icelandair Boarding pass, very similar to the one we designed in 02007" /></div>



<p class="wp-block-paragraph">Back in 02010, we wrote about our experience with the <a href="https://optional.is/required/2010/05/25/papernet-boarding-pass/">Icelandair Boarding printable pass</a>, which we designed in 02007. On our travels this week, we printed our boarding pass and lo and behold, it is pretty much our original design! Three sections, barcode multiple times, travel info, next steps. It&#8217;s missing the weather and social integrations.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>100 year old spatial images</title>
		<link>https://optional.is/required/2026/04/23/100-year-old-spatial-images/</link>
		
		<dc:creator><![CDATA[optional Bot]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 13:31:00 +0000</pubDate>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[spatial]]></category>
		<category><![CDATA[stereoscopic]]></category>
		<category><![CDATA[VR]]></category>
		<guid isPermaLink="false">https://optional.is/required/?p=9768</guid>

					<description><![CDATA[Going through the Icelandic photo archives for stereoscopic images and converting them to spatial images brings new life to images over 100 years old.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Over the last year or so, we&#8217;ve been doing some experiments with spatial images. A spatial image is a single image file, but has a different picture for your left and right eye. These are commonly used in Virtual Reality, but we&#8217;re all probably much more familiar with them from the old <em>View Master</em> toys.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/View-Master-Classic-Deluxe-Edition.jpg" alt="View Master Product with several paper discs"/></div>



<p class="wp-block-paragraph">The View Master was a plastic set of goggles that you inserted a paper disc into that would rotate around to see a set of seven 3D images! It appeared in 3D because the images for the left and right eye were different images of the same thing using slightly offset cameras. This mimicked what you&#8217;re left and right eye would naturally see.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/Holmes-Stereoscope.jpg" alt="Holmes Stereoscope"/></div>



<p class="wp-block-paragraph">100 years before the View Master, we had <a href="https://en.wikipedia.org/wiki/Stereoscope">Stereoscopes</a>. The earliest was from 01832 and worked in exactly the same way, but instead of a paper disc, they used single cards with printed images. They were the first 3D VR headsets.</p>



<p class="wp-block-paragraph">Luckily for us, there was a craze for taking these 3D pictures, which means you can find lots of 3D imagery from 100+ years ago online. Reykjavik and Iceland both have online photography collections. With a little bit of searching and help from their team, we found thousands of stereoscopic images in the archives. These consisted of a single, wide image that contained both the image for the left and right eye.</p>



<ul class="wp-block-list">
<li><a href="https://sarpur.is/en/collection/?f=sfield%3Amaterial_s%3D%23Stereóskóp%23&amp;om=2&amp;s=sort_inv_is_sml%20asc">Stereoscope images on Sarpur Iceland’s Cultural-Historical Database Website</a></li>



<li><a href="https://borgarsogusafn.is/myndasafn?q=stereóskóp*">Stereoscope images on Reykjavik Photography museum website</a></li>
</ul>



<h2 class="wp-block-heading">Converting to Spatial Images</h2>



<p class="wp-block-paragraph">There are lots of tools out there to make spatial images, but they assume that you already have two separate left and right images. Usually this is done with either two separate cameras, or two lenses on a single camera and they get processed as two images.</p>



<p class="wp-block-paragraph">What we had was a single image that had both pictures side-by-side. To convert this into two separate image files, we opened some image editing software, duplicated the image to two layers, and arranged the left and right images to be on top of each other. Then we could crop correctly and make any minor adjustments.</p>



<figure class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/layers-example.jpg" alt="Screenshot of photo editing software overlaying the left and right image" /><figcaption>Using photo editing software, the left and right images are put on separate layers. The top layer&#8217;s opacity is decreased to better line-up something in the foreground before saving each layer as a separate file the same dimensions.</figcaption></figure>



<p class="wp-block-paragraph">Now that we had a left and right image from the stereoscopic card, we can run it through software to create a single 3D image file. We use <a href="https://apps.apple.com/us/app/spatialify/id6471922894">Spatialify</a>, it is cheap, easy and works! It offers several &#8220;3D&#8221; output options, the traditional blue/red offset (anaglyph) for the blue/red 3D glasses, wigglegrams which are animated gifs, and proper spatial files viewable in VR.</p>



<div class="banner"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/workflow-collage.jpg" alt="Collage of the source image, spatiality app taking a left and a right and sample output"/></div>



<p class="wp-block-paragraph">There is a lot of trial and error getting things right. Sometimes the source images are badly scratched, damaged or rotated. Finding the correct alignment can be difficult and sometimes the subject matter just doesn&#8217;t lend itself very well in 3D. Luckily, we have a thousands of possible images to convert, if something isn&#8217;t working we can move on.</p>



<h2 class="wp-block-heading">Gallery</h2>



<p class="wp-block-paragraph">Here is a short list of zip archives with the left, right, spatial, anaglyph and wigglegram for the image. <strong>Be aware, these images might still be under copyright.</strong></p>



<p class="wp-block-paragraph"><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/MAO-106-Wiggle.gif"/><br /><strong>Magnús Ólafsson (1862-1937)</strong><br />01906, A group of people washing clothes in Laugardalur.<br />Download: <a href="https://optional.is/required/wp-content/uploads/2026/04/MAO-106.zip">MAÓ 106 &#8211; 6.1 MB</a></p>



<p><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/MAO-429-Wiggle.gif"/><br /><strong>Magnús Ólafsson (1862-1937)</strong><br />01931, Austurvöllur, Reykjavík. Bertel Thorvaldssen statue prepared for transport.<br />Download: <a href="https://optional.is/required/wp-content/uploads/2026/04/MAO-429.zip">MAÓ 429 &#8211; 6.8 MB</a></p>



<p><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/MAO-862-Wiggle.gif"/><br /><strong>Magnús Ólafsson (1862-1937)</strong><br />01900-01920, Old hut in Hafnarfjörður lava field.<br />Download: <a href="https://optional.is/required/wp-content/uploads/2026/04/MAO-862.zip">MAÓ 429 &#8211; 7.1 MB</a></p>



<p><img decoding="async" src="https://optional.is/required/wp-content/uploads/2026/04/MAO-984-Wiggle.gif"/><br /><strong>Magnús Ólafsson (1862-1937)</strong><br />01930 or 01931, German Graf Zeppelin over Reykjavík. Grófin 1, Tryggvagata and Reykjavík Harbour.<br />Download: <a href="https://optional.is/required/wp-content/uploads/2026/04/MAO-984.zip">MAÓ 429 &#8211; 6.5 MB</a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
