<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Ham Typed]]></title><description><![CDATA[Whatever I can’t stop thinking about. Computers, writing, and society. ]]></description><link>https://www.hamtyped.com</link><image><url>https://www.hamtyped.com/img/substack.png</url><title>Ham Typed</title><link>https://www.hamtyped.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 03 Apr 2026 20:37:14 GMT</lastBuildDate><atom:link href="https://www.hamtyped.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Tristan Isham]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[hamtyped@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[hamtyped@substack.com]]></itunes:email><itunes:name><![CDATA[Tristan Isham]]></itunes:name></itunes:owner><itunes:author><![CDATA[Tristan Isham]]></itunes:author><googleplay:owner><![CDATA[hamtyped@substack.com]]></googleplay:owner><googleplay:email><![CDATA[hamtyped@substack.com]]></googleplay:email><googleplay:author><![CDATA[Tristan Isham]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[AI Won't Replace Writing]]></title><description><![CDATA[A rebuttal of Paul Graham's Writes and Write-Nots]]></description><link>https://www.hamtyped.com/p/ai-wont-replace-writing</link><guid isPermaLink="false">https://www.hamtyped.com/p/ai-wont-replace-writing</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Tue, 26 Nov 2024 22:15:55 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="5616" height="3744" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3744,&quot;width&quot;:5616,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;person using pencil&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="person using pencil" title="person using pencil" srcset="https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1534644107580-3a4dbd494a95?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0ZXN0JTIwdGFraW5nfGVufDB8fHx8MTczMjY1NTEzN3ww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="true">Ben Mullins</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>In his <a href="https://paulgraham.com/writes.html">most recent essay</a>, Paul Graham, <a href="https://paulgraham.com/bio.html">founder of Y-Combinator</a>, misses the forest for the trees in his prediction that writing as a skill will be functionally extinct because of AI. To be specific, Graham thinks that many people won&#8217;t be able to write because AI has dissipated almost all pressure to write. And because the gap between being a good writer and not being able to write has disappeared.</p><p>I want to presuppose that when he says writing, Graham means communicating effectively and asynchronously through text. Not actually writing by typing keys or scratching pens. I don&#8217;t think that skill will ever go away because frankly, using your voice alone to communicate would suck. It is not realistic in any litany of places where it would either be inappropriate, too loud, or impossible to talk.</p><p>In his essay, Graham says, &#8220;One of the strangest things you learn if you're a writer is how many people have trouble writing. Doctors know how many people have a mole they're worried about; people who are good at setting up computers know how many people aren't; writers know how many people need help writing.&#8221;</p><p>I&#8217;m more than willing to agree with that. When I was in journalism school, I was horrified that even after four years, seniors who had been coached for 1/5<sup>th</sup> of their lives on how to write could barely string together a succinct essay. I can&#8217;t imagine the quality of the average person&#8217;s paper today. To these people, writing well was never important, because if it had been, they&#8217;d have learned how to do it. They wrote well enough to pass their classes, and well enough to ease their minds. For them, using AI to write is like using spell check and accepting all changes. There was no craft to begin with. Yet, by the very nature of having to communicate with the AI, and that I can&#8217;t imagine a world in which not being able to write without using an AI doesn&#8217;t get you teased out of the room, I imagine that even these people will retain a poor to okay level of writing skill.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p>Graham also talks about how &#8220;AI has blown this world open. Almost all pressure to write has dissipated. You can have AI [write] for you, both in school and at work.&#8221;</p><p>In school, if used unethically like when writing a paper, AI scribing is only going to result in more student suffering. No matter how advanced an AI becomes, it will never be able to write an essay by hand in a blue book with a number 2 pencil. I hate to say it, but kids are spoiled by Chromebooks and iPads. If kids are found to be cheating on their essays or on their online tests, there&#8217;s nothing stopping teachers from taking a step back from technology on test days and forcing students to write by hand. AI might be the revitalization handwriting needs.</p><p>Graham asks, &#8220;Isn't it common for skills to disappear when technology makes them obsolete? There aren't many blacksmiths left, and it doesn't seem to be a problem.&#8221; Yet only a paragraph later distinguishes writing from other skills by stating, &#8220;writing is thinking. In fact there's a kind of thinking that can only be done by writing. You can't make this point better than Leslie Lamport did: If you're thinking without writing, you only think you're thinking.&#8221;</p><p>People are still taught how to write by hand, and even cursive. The most popular medium for books is still paper, despite e-reader&#8217;s many advantages. We don&#8217;t operate in a reality where the rational choice is always the one that wins. Instead, emotions often rule our days, and writing is one skill unlike any other--inexplicably tied to our thoughts and feelings. I don&#8217;t see a world in which we ever let that skill go.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/ai-wont-replace-writing?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/ai-wont-replace-writing?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>This post was originally posted on my <a href="https://tristan.cx/p/ai-wont-replace-writing">personal website</a>.</p>]]></content:encoded></item><item><title><![CDATA[Thigh Highs and Cat Ears Defend America]]></title><description><![CDATA[This Week in Programming. Issue #1]]></description><link>https://www.hamtyped.com/p/thigh-highs-and-cat-ears-defend-america</link><guid isPermaLink="false">https://www.hamtyped.com/p/thigh-highs-and-cat-ears-defend-america</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Sat, 03 Aug 2024 02:23:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0ded2d0a-4c0a-4769-84ba-9b3ab25689bb_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the next decade, America&#8217;s cybersecurity will become incomprehensibly dependent on the market&#8217;s ability to supply thigh high socks and cat ear headbands as DARPA, the U.S. military&#8217;s Defense Advanced Research Projects Agency has announced <a href="https://www.darpa.mil/program/translating-all-c-to-rust">TRACTOR</a>, an initiative to automate the transition of systems written in &#8220;legacy&#8221; C code to Rust.&nbsp;</p><p>&#8220;The TRACTOR program aims to achieve a high degree of automation towards translating legacy C to Rust, with the same quality and style that a skilled Rust developer would employ, thereby permanently eliminating the entire class of memory safety security vulnerabilities present in C programs,&#8221; according to&nbsp; <a href="https://www.darpa.mil/staff/dr-dan-wallach">Dr. Dan Wallach</a>, a program manager at DARPA&#8217;s Innovation and Information Office (I2O). &#8220;Performers might employ novel combinations of software analysis (e.g., static analysis and dynamic analysis), and machine learning techniques (e.g., large language models).&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>According to a <a href="https://sam.gov/api/prod/opps/v3/opportunities/resources/files/3f5caa5af9da4785b335c37c16e2beda/download?&amp;token=">report</a> (PDF download) released by DARPA&#8217;s I2O, the TRACTOR program is looking for proposals due to C and C++&#8217;s lack of safety around array bound checks and pointer arithmetic. Typical manual memory management security issues. The report even references <a href="https://www.zdnet.com/article/chrome-70-of-all-security-bugs-are-memory-safety-issues/">Google</a> and <a href="https://www.zdnet.com/article/microsoft-70-percent-of-all-security-bugs-are-memory-safety-issues/">Microsoft</a>s&#8217; claims that 70% of security bugs in Chrome and Microsoft products can be attributed to memory safety issues.&nbsp;</p><p>It makes sense. Manual memory management is a cognitive burden in languages like C and in older versions of C++. By not catching these memory issues, malicious actors can exploit these issues for, amongst other exploits, remote code execution and elevation of privilege attacks.</p><p>If you&#8217;re interested in working on TRACTOR, you&#8217;re in luck. The agency is holding a Hybrid Proposers Day on August, 26th in Arlington Virginia. You&#8217;ll just need to <a href="https://creative.gryphontechnologies.com/darpa/i2o/tractor/pd/">register online</a>.</p><h1>&#8220;We&#8217;re so Back,&#8221; say Manual Memory Management Chads</h1><p>C3 is a new system&#8217;s programming language written by <a href="https://github.com/lerno">Christoffer Lerno</a> and contributors pitching itself as &#8220;an evolution, not a revolution&#8221;. Targeting developers who like C, this <a href="https://c3-lang.org/guide/">LLVM wrapper</a> offers full C ABI compatibility, a module system, pointer + length slices, reflection, and cross compilation support while saying <a href="https://c3-lang.org/references/docs/changesfromc/">au revoir</a> to some of C&#8217;s <a href="https://c3-lang.org/references/docs/changesfromc/">more dated features</a>.</p><p>C3 continues the trend of new languages being built with manual memory management in our post-Rust world simply for the fact that people like writing C and C++. I count myself amongst these fools, so what is writing C3 like?</p><p>First, C3 is a young language (v0.6.1). Things are bound to break, change, and be removed. You shouldn&#8217;t use it for any important production projects unless you can live with the chaos of prerelease software. That being said, I think C3 is promising. The amount of code Lerno and contributors have written, plus the fact that an actively developed<a href="https://github.com/pherrymason/c3-lsp"> language server and VS Code extension</a> exist for the language already fills my heart with hope. There&#8217;s a community behind this project, great documentation (Zig could learn a thing or two), and Lerno is more than responsive. When I first discovered this language I noticed some small typos in the documentation website. Not only Did Lerno spot and respond to my PRs instantly (I accidentally sent it to the old documentation repo), he merged it within minutes.&nbsp;</p><p>To speak in Tech Twitter/X parlance, C3 has vibes.&nbsp;</p><p>Only time will tell if C3 becomes a successful language, but I&#8217;ll be keeping my eye on it in the meantime.</p><p>I&#8217;m hopeful more new low level languages that manually manage memory come to the popular sphere in the next few years. On its own, manual memory management is not a bad development paradigm. With proper tooling, smart pointers, and respect for the craft incredible optimizations can be made with manual memory management.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Quality of Online Textbooks is Problematic]]></title><description><![CDATA[Publishers know their customers are locked in year after year, and they&#8217;ll always have new suckers to scalp because there will always be new kids going to college.]]></description><link>https://www.hamtyped.com/p/the-quality-of-online-textbooks-is</link><guid isPermaLink="false">https://www.hamtyped.com/p/the-quality-of-online-textbooks-is</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Wed, 24 Jan 2024 22:59:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VwAR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VwAR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VwAR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 424w, https://substackcdn.com/image/fetch/$s_!VwAR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 848w, https://substackcdn.com/image/fetch/$s_!VwAR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 1272w, https://substackcdn.com/image/fetch/$s_!VwAR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VwAR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512" width="512" height="512" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:512,&quot;width&quot;:512,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VwAR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 424w, https://substackcdn.com/image/fetch/$s_!VwAR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 848w, https://substackcdn.com/image/fetch/$s_!VwAR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 1272w, https://substackcdn.com/image/fetch/$s_!VwAR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd48783-ffdd-4a88-982c-1dee7dc6393f_800x512 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Man angrily ripping a text book in half</figcaption></figure></div><p>I'm currently halfway through an online-only M.B.A. program and the constant between classes has been that digital textbooks suck. Every publisher of my textbooks has developed their own proprietary locked-in software to make copying, saving, or even maintaining access to the textbook I paid for as difficult as possible. These massive publishing houses scalp poor college students every year for meaningless updates to perfectly good textbooks that may be a few years old, and we have to go along with it because colleges and teachers are dependent on the extracurricular materials these companies provide. I&#8217;m currently in a class where all our resources are locked behind one such portal. Access cost me $131.94, and it doesn&#8217;t even work on my iPad. What are students to do?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Ham Typed is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Unless you&#8217;re in a class which only distributes homework and quizzes through these locked-in portals, there are a few methods to improve your course experience. Primarily, ask your professor if an older edition of the book would work for the class. Most of the time there isn&#8217;t a meaningful difference between textbook editions other than the order and location of information in the book. Older editions are cheaper, generally more accessible, and&#8212;if you&#8217;re a bit malicious&#8212;can be acquired for free. Which, if a company is selling a loose-leaf copy of a seven-year-old textbook for <a href="https://a.co/d/hdvHmyz">more than the price of the current edition</a>, is arguably justifiable. How can anyone have such a low standard for their own product to sell it as loose-leaf sheets. Selling loose-leaf for more than the cost of a paperback binding is shipping unmanageable trash. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YzbD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YzbD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 424w, https://substackcdn.com/image/fetch/$s_!YzbD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 848w, https://substackcdn.com/image/fetch/$s_!YzbD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 1272w, https://substackcdn.com/image/fetch/$s_!YzbD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YzbD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png" width="322" height="167" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:167,&quot;width&quot;:322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14099,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YzbD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 424w, https://substackcdn.com/image/fetch/$s_!YzbD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 848w, https://substackcdn.com/image/fetch/$s_!YzbD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 1272w, https://substackcdn.com/image/fetch/$s_!YzbD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3278dcd9-3cca-4a35-8835-d887a972695d_322x167.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>Especially since book binding, at scale, <a href="https://www.alibaba.com/product-detail/Cheap-Hardcover-Book-Printing-China-Wholesale_60625860988.html?spm=a2700.galleryofferlist.p_offer.d_title.70c7464b00n6cu&amp;s=p">is cheap</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oBRw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oBRw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 424w, https://substackcdn.com/image/fetch/$s_!oBRw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 848w, https://substackcdn.com/image/fetch/$s_!oBRw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 1272w, https://substackcdn.com/image/fetch/$s_!oBRw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oBRw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png" width="335" height="158" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:158,&quot;width&quot;:335,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9520,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oBRw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 424w, https://substackcdn.com/image/fetch/$s_!oBRw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 848w, https://substackcdn.com/image/fetch/$s_!oBRw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 1272w, https://substackcdn.com/image/fetch/$s_!oBRw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff43f37f9-1637-4366-b686-e95c6e4958bd_335x158.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>It's disappointing when you&#8217;re required to use something made by a company that obviously doesn&#8217;t have standards. Whatever works well enough to facilitate a contract is business. The customer&#8217;s experience be damned. Maybe it&#8217;s because they don&#8217;t need to compete? They know their customers are locked in year after year, and they&#8217;ll always have new suckers to scalp because there will always be new kids going to college. It almost feels predatory. Like a machine designed to suck you and your family dry. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Ham Typed is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Ham Typed is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Ham Typed is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Invite your friends to read Ham Typed]]></title><description><![CDATA[Thank you for reading Ham Typed &#8212; your support allows me to keep doing this work.]]></description><link>https://www.hamtyped.com/p/invite-your-friends-to-read-ham-typed</link><guid isPermaLink="false">https://www.hamtyped.com/p/invite-your-friends-to-read-ham-typed</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Sun, 03 Dec 2023 16:02:28 GMT</pubDate><content:encoded><![CDATA[<p>Thank you for reading Ham Typed &#8212; your support allows me to keep doing this work.</p><p>If you enjoy Ham Typed, it would mean the world to me if you invited friends to subscribe and read with us. If you refer friends, you will receive benefits that give you special access to Ham Typed.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Ham Typed is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>How to participate </strong></p><p><strong>1. Share Ham Typed. </strong>When you use the referral link below, or the &#8220;Share&#8221; button on any post, you'll get credit for any new subscribers. Simply send the link in a text, email, or share it on social media with friends.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/leaderboard?&amp;utm_source=post&quot;,&quot;text&quot;:&quot;Refer a friend&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/leaderboard?&amp;utm_source=post"><span>Refer a friend</span></a></p><p>2.<strong> Earn benefits.</strong> When more friends use your referral link to subscribe (free or paid), you&#8217;ll receive special benefits.</p><ul><li><p>Get a 1 month comp for 3 referrals</p></li><li><p>Get a 3 month comp for 5 referrals</p></li><li><p>Get a 6 month comp for 25 referrals</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/leaderboard?&amp;utm_source=post&quot;,&quot;text&quot;:&quot;Visit the leaderboard&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/leaderboard?&amp;utm_source=post"><span>Visit the leaderboard</span></a></p><p>To learn more, check out <a href="https://support.substack.com/hc/en-us/articles/16142857300372">Substack&#8217;s FAQ</a>.</p><p>Thank you for helping get the word out about Ham Typed!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Ham Typed is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Pens of the Year, 2023]]></title><description><![CDATA[I'm a bit of an obsessive personality, having assembled many collections of tools over the years.]]></description><link>https://www.hamtyped.com/p/pens-of-the-year-2023</link><guid isPermaLink="false">https://www.hamtyped.com/p/pens-of-the-year-2023</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Mon, 06 Nov 2023 23:00:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aWBq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aWBq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aWBq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aWBq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aWBq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aWBq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aWBq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1615018,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aWBq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aWBq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aWBq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aWBq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa136e3b6-f2c1-49be-b07a-ece6a2640317_3024x4032.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I'm a bit of an obsessive personality, having assembled many collections of tools over the years. Some are more useful than others, but none so more than my absurd collection of pens. <em>Pens are great</em>. They're cheap, forever useful, infinitely lendable, and--most importantly--diverse. You will never run out of new pens, and with a free desk drawer, you never have to. I've been trying to find the perfect pen my entire life. Something cheap and readily accessible. I'm not against luxury pens, but at the end of the day it's a tool. It's not really the perfect pen if you're afraid to use it.</p><p>That being said, there are some biases I'd like to elucidate before passing judgment. Namely, I don't like ball-point pens. They&#8217;re uncomfortable to write with after long durations resulting from the necessary pressure required to impart their ink. I much prefer the typical scrapping of roller balls or the gentle glide of gel. The inks are also poor, often leaving striated lines. I prefer gel in this regard, though I&#8217;m not against the solid <em>soaked-in</em> look of a nice felt tip.&nbsp;</p><p>Now that we know ball-point pens won&#8217;t be getting a fair shake, let&#8217;s review the top three pens I use.</p><h1>1. Pilot G-2 (0.7mm)</h1><p>The Pilot G-2 (0.7mm) is the best selling pen in America and for good reason. Present at nearly every office supply store, affordable, and with a body that doesn&#8217;t feel like fragile plastic, the G-2 has smooth consistent lines, regardless of ink color. I use a G-2 almost daily and it&#8217;s the only pen I&#8217;ve ever completely used. The pen also doesn&#8217;t have issue writing at extreme angles, like on your knee or a wall, and maintains a consistent look regardless of the paper you write on. It also doesn&#8217;t bleed, nor have I ever had one fail on me. Even accidentally going through a was resulted in less of my clothes being ruined because less ink leaked onto my shirts and pants&#8211;admittedly a little hard to tell as I wear black jeans almost daily.&nbsp;</p><p>The Pilot is also the only pen on this list with archival quality inks. If you didn&#8217;t know, most inks and papers contain acids that over time degradation the quality of your writing and the medium. Paper is surprisingly resilient, and often better for archival purposes than any digital medium. We all know of books that are thousands of years old, and still safe to handle. Yet, ink won&#8217;t last forever. Though typically what you write on paper will last a lifetime as long as it&#8217;s stored properly, if you want to write words as resilient as the ideas they hold, the G-2 offers archival quality ink. Just make sure you&#8217;re writing on high-quality paper, as the acids in printer paper and cheap notebook paper will fade quicker in sunlight and humid environments.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><h1>2. Sharpie S-Gel (0.7mm)</h1><p>The only reason why the Sharpie S-Gel isn&#8217;t my favorite pen, despite its high-quality build, comfortable grip, and solid ink, is its less-reliable writing experience compared to Pilot&#8217;s flagship.&nbsp;</p><p>Though rare, I find myself having to write vertically, and even at upward angles with my pens. Be it on the fridge calendar, a sticky note, or just a scrap of paper, the S-Gel does not handle verticality well. Often failing after a few words. A brief flip around and scribble will usually set the pen right, but when you&#8217;re writing in a silly way, why settle for less than perfect? If you don&#8217;t see yourself writing upside-down often, feel free to give the S-Gel a try. The comfort and strong look of the nib are a constant comfort that this tool is simply dependable.</p><h1>3. Uni-Ball Signo</h1><p>The Signo&#8217;s a bit of an odd ball on this list. A cheap ballpoint without any particularly outstanding traits. The entire pen is crafted with the parts quality of any high-volume good. Maximizing cost-savings per unit to make the most of economics of scale. Yet, the pen writes surprisingly well, maintaining the most consistent lines I&#8217;ve found on a ball-point, with vibrant&#8211;again, for a ball-point&#8211;inks. They suffer from similar performance issues as the S-Gel line, and are more fragile than both of the previous listees. However, if you&#8217;re looking for a high-quality writing experience at a low low price, the Signo is a reliable pick for any occasion.</p><p>I hope you found this list helpful. I&#8217;ll update it if there are any noticeable changes next year. I&#8217;m always keeping my eyes peeled for my next daily carry, and would love to hear more about the pens you use. Please leave a comment!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/pens-of-the-year-2023/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/pens-of-the-year-2023/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Building Desktop Apps With Deno]]></title><description><![CDATA[Deno 1.36 brings a small, but powerful, upgrade to deno compile.]]></description><link>https://www.hamtyped.com/p/building-desktop-apps-with-deno</link><guid isPermaLink="false">https://www.hamtyped.com/p/building-desktop-apps-with-deno</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Sun, 13 Aug 2023 14:27:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!F0ix!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F0ix!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F0ix!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 424w, https://substackcdn.com/image/fetch/$s_!F0ix!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 848w, https://substackcdn.com/image/fetch/$s_!F0ix!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 1272w, https://substackcdn.com/image/fetch/$s_!F0ix!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F0ix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png" width="1200" height="837" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:837,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!F0ix!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 424w, https://substackcdn.com/image/fetch/$s_!F0ix!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 848w, https://substackcdn.com/image/fetch/$s_!F0ix!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 1272w, https://substackcdn.com/image/fetch/$s_!F0ix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde7a86e6-da98-4760-84ab-5949a2c22823_1200x837.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://deno.com/blog/v1.36">Deno 1.36</a> brings a small, but powerful, upgrade to <code>deno compile</code>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V6Hw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V6Hw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 424w, https://substackcdn.com/image/fetch/$s_!V6Hw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 848w, https://substackcdn.com/image/fetch/$s_!V6Hw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 1272w, https://substackcdn.com/image/fetch/$s_!V6Hw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V6Hw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png" width="630" height="111" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:111,&quot;width&quot;:630,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A new --no-terminal flag can now be used with deno compile. If the compiled binary is run on Windows, this flag will prevent the terminal window from being opened.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A new --no-terminal flag can now be used with deno compile. If the compiled binary is run on Windows, this flag will prevent the terminal window from being opened." title="A new --no-terminal flag can now be used with deno compile. If the compiled binary is run on Windows, this flag will prevent the terminal window from being opened." srcset="https://substackcdn.com/image/fetch/$s_!V6Hw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 424w, https://substackcdn.com/image/fetch/$s_!V6Hw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 848w, https://substackcdn.com/image/fetch/$s_!V6Hw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 1272w, https://substackcdn.com/image/fetch/$s_!V6Hw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db7925-7e0c-42c7-bb42-c308df3a1afb_630x111.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Deno can now compile executables on Windows that link to the Windows subsystem.</figcaption></figure></div><p>Now, developers can compile native binaries on Windows that don&#8217;t depend on a console window! This flag changes the WIndows subsystem your application links to, giving access to libraries specifically built for desktop, an air of legitimacy, and a more-private <code>stdout</code>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What are Windows Subsystems?</strong></h2><p>According to <a href="https://renenyffenegger.ch/notes/Windows/development/Portable-Executable/subsystem/index">Ren&#233; Nyffenegger</a>, Windows consists of multiple subsystems that all expose subsets of a base <em>Windows executive system service</em>. If you&#8217;re a developer on Windows, chances are you&#8217;ve heard of a few.</p><ul><li><p>Native&#8211;used for device drivers and native Windows&nbsp;<a href="https://renenyffenegger.ch/notes/Windows/development/process/index">processes</a></p></li><li><p>Windows (<a href="https://renenyffenegger.ch/notes/Windows/development/Portable-Executable/subsystem/GUI/index">GUI)</a></p></li><li><p><a href="https://renenyffenegger.ch/notes/Windows/development/Portable-Executable/subsystem/console/index">Console</a></p></li><li><p>OS2 CUI</p></li><li><p>Posix CUI</p></li><li><p>Native 9x driver</p></li><li><p>Windows CE</p></li><li><p><a href="https://renenyffenegger.ch/notes/hardware/UEFI/index">EFI</a>&nbsp;application</p></li><li><p>EFI driver with boot services</p></li><li><p>EFI driver with run-time services</p></li><li><p>EFI ROM image</p></li><li><p>XBOX</p></li><li><p>Windows boot application</p></li></ul><p>Each subsystem gives your application access to specific libraries and access to system resources. Since console and GUI (Graphic User Interface) apps are inherently different, linking the appropriate subsystem is crucial when building your executable. According to <a href="https://renenyffenegger.ch/notes/Windows/development/Portable-Executable/subsystem/windows/index">Nyffenegger</a>, linking to the Windows subsystem not only doesn&#8217;t spawn a console window, but provides your application access to libraries for detecting mouse movement, putting multiple windows side-by-side, and other desktop-specific tasks.</p><p>I want to show you how you can build a small desktop app with Deno, and the effects of this new compiler flag.</p><h2><strong>Building a Desktop App with Deno</strong></h2><pre><code><code>import { Webview } from "https://deno.land/x/webview@0.7.6/mod.ts";

const html = `
  &lt;html&gt;
  &lt;body&gt;
    &lt;h1&gt;Hello from deno v${Deno.version.deno}&lt;/h1&gt;
  &lt;/body&gt;
  &lt;/html&gt;
`;

const webview = new Webview();

webview.navigate(`data:text/html,${encodeURIComponent(html)}`);
webview.run();
</code></code></pre><p>Above is a simple script for launching a desktop app with Deno. You can save the following <code>deno.jsonc</code> to copy the various build options I&#8217;d like to demonstrate.</p><pre><code><code>{
  "tasks": {
    "build-dev": "deno compile -Ar --unstable --allow-ffi main.ts",
    "build": "deno compile -Ar --no-terminal --unstable --allow-ffi main.ts",
    "dev": "deno run -Ar --unstable --allow-ffi --watch main.ts",
    "start": "deno run -Ar --unstable --allow-ffi main.ts"
  }
}</code></code></pre><p>Running any of these commands will result in the following window.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KC6m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KC6m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 424w, https://substackcdn.com/image/fetch/$s_!KC6m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 848w, https://substackcdn.com/image/fetch/$s_!KC6m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 1272w, https://substackcdn.com/image/fetch/$s_!KC6m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KC6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png" width="1024" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!KC6m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 424w, https://substackcdn.com/image/fetch/$s_!KC6m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 848w, https://substackcdn.com/image/fetch/$s_!KC6m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 1272w, https://substackcdn.com/image/fetch/$s_!KC6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02266cf7-79eb-431e-aeac-fcc8e442b969_1024x815.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Running the build scripts will result in a static binary. It&#8217;s not perfect, and <a href="https://github.com/denoland/deno/issues/8912">you can&#8217;t modify the icon or other resources</a> without third-party tools, but it&#8217;s a start of a Deno desktop ecosystem to rival Electron. With <code>deno compile</code> and <a href="https://stackoverflow.com/questions/5440968/understand-foreign-function-interface-ffi-and-language-binding">FFI</a>, desktop apps with Deno <a href="https://deno.land/manual@v1.36.0/tools/compiler">are cross-compliable</a> and as capable as any app <a href="https://blog.scottlogic.com/2023/02/01/webview2-electron-challengers-and-slightly-lighter-desktop-web-applications.html">utilizing the OS&#8217;s native web view</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[An Interview the Creator of ZLS (Zig Language Server)]]></title><description><![CDATA[We talk about what it's like to write the default language server for an entire language, Zig's unique take on community, and what it's like to hit it "big" in open source.]]></description><link>https://www.hamtyped.com/p/an-interview-with-auguste-of-zls</link><guid isPermaLink="false">https://www.hamtyped.com/p/an-interview-with-auguste-of-zls</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Wed, 01 Mar 2023 22:48:15 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/105537429/f3b602f3d2d15e2bc9c607f730638128.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<h2>Show Notes</h2><p>Tristan interviews Auguste, the creator of the Zig Language Server and Zig Discord. They talk about what it's like to write the default language server for an entire language, Zig's unique take on community, and what it's like to hit it "big" in open source.</p><ul><li><p><a href="https://github.com/zigtools/zls">ZLS</a></p></li><li><p><a href="https://discord.gg/zig">Zig Language Discord</a></p></li><li><p><a href="https://ziglang.org/">Zig Language</a></p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/an-interview-with-auguste-of-zls?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/an-interview-with-auguste-of-zls?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p></p><ul><li><p><a href="https://twitter.com/atalocke">My Twitter</a></p></li><li><p><a href="https://github.com/tristanisham/zvm">ZVM (zig version manager)</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Today I learned there's a blood moon this Tuesday (11/8/22)]]></title><description><![CDATA[And I've seem to misplaced my grimoire]]></description><link>https://www.hamtyped.com/p/today-i-learned-theres-a-blood-moon</link><guid isPermaLink="false">https://www.hamtyped.com/p/today-i-learned-theres-a-blood-moon</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Mon, 07 Nov 2022 14:18:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!j6g8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>According to <a href="https://moon.nasa.gov/news/185/what-you-need-to-know-about-the-lunar-eclipse/">NASA</a>, this Tuesday will be your last chance to view a total lunar eclipse for another three years. So, if you live in North America, Central America, Asia, Australia, the Pacific Islands, or northern South America this is it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j6g8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j6g8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j6g8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j6g8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j6g8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j6g8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg" width="590" height="800" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:590,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82754,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j6g8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j6g8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j6g8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j6g8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F30b70660-d833-4954-94d8-7f121d5a72b7_590x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Lunar Eclipse Schedule - space.com</figcaption></figure></div><p>It&#8217;s pretty early if you live anywhere in the United States, but this could be the best chance you get to view an astonishing celestial event. I&#8217;m going to try my best to view it, and I hope you do too! Any pictures I&#8217;m able to grab&#8212;using my Dad&#8217;s birding telescope&#8212;I&#8217;ll include in a later post or at least on my <a href="https://twitter.com/TristanIsham">Twitter</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p>If you take any photos or just want to share your experience, leave a comment below! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/today-i-learned-theres-a-blood-moon/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/today-i-learned-theres-a-blood-moon/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Wikipedia is Not Short on Cash]]></title><description><![CDATA[The notorious beggar has a rapidly growing $400 million war chest.]]></description><link>https://www.hamtyped.com/p/wikipedia-is-not-short-on-cash</link><guid isPermaLink="false">https://www.hamtyped.com/p/wikipedia-is-not-short-on-cash</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Wed, 12 Oct 2022 22:00:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RUhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I know this might surprise some of you, but the everyman&#8217;s free encyclopedia isn&#8217;t exactly strapped for cash. Despite what it&#8217;s prominent donation banners, the Wikimedia Foundation, the NGO (Non-Governmental Organization) responsible for the fundraising that operates Wikipedia, <a href="https://unherd.com/thepost/the-next-time-wikipedia-asks-for-a-donation-ignore-it/">according to Andrew Orlowski of unheard.com</a>, has amassed a $400 million as of March. The cost of running Wikipedia makes up just a fraction of this amount year-over-year, and people are upset because they feel Wikipedia&#8217;s notorious begging banner ads are deceiving.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RUhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RUhm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 424w, https://substackcdn.com/image/fetch/$s_!RUhm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 848w, https://substackcdn.com/image/fetch/$s_!RUhm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!RUhm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RUhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png" width="1456" height="473" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:473,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:279889,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RUhm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 424w, https://substackcdn.com/image/fetch/$s_!RUhm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 848w, https://substackcdn.com/image/fetch/$s_!RUhm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!RUhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63b744d9-d413-415d-9d29-6417f55c7d86_3112x1010.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">VentureBeat</figcaption></figure></div><p>I get it, these giant banners taking up half the page on one of your most accessed sites begging you for just $2 like they&#8217;re on the brink of extinction, only to find out they&#8217;re swimming in profit. But, it&#8217;s not like you don&#8217;t get what you&#8217;re paying for. Wikipedia gets 4/4 stars on <a href="https://www.charitynavigator.org/ein/200049703">Charity Navigator</a>. They use the money to improve their wide range of free resources. Unlike the <a href="https://www.charitynavigator.org/ein/521693387">World Wildlife Foundation</a> which spends almost 15% of its budget on fundraising expenses. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>From my own experience trying to solicit donations from users on site&#8217;s much less good-for-mankind than Wikipedia, your conversion rate&#8217;s are low. Wikipedia claims there&#8217;s are just 2%, and I believe them. If it takes a little emotional manipulation every few months for me to read about <a href="https://astralcodexten.substack.com/p/a-columbian-exchange">Columbus day</a>.</p><p>Let me know what you think about this story or the topic. If you&#8217;re reading this post in your inbox, you can reply as if it were a normal email. If you&#8217;re on the website, leave a comment! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/wikipedia-is-not-short-on-cash/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/wikipedia-is-not-short-on-cash/comments"><span>Leave a comment</span></a></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Digital Rights Management Might Ruin My Next Vacation]]></title><description><![CDATA[10 | We shouldn&#8217;t have to worry about losing access to stuff we&#8217;ve purchased without getting some kind of equivalent compensation.]]></description><link>https://www.hamtyped.com/p/digital-rights-management-might-ruin</link><guid isPermaLink="false">https://www.hamtyped.com/p/digital-rights-management-might-ruin</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Tue, 04 Oct 2022 21:57:27 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" width="1080" height="810" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;black and white graffiti on wall&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="black and white graffiti on wall" title="black and white graffiti on wall" srcset="https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1589287707312-213624549c88?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwzfHxjb3B5cmlnaHR8ZW58MHx8fHwxNjY0OTIwNTU3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@bp_miller">BP Miller</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>In <a href="https://worldofmatthew.com/technology/amazon-itunes-deception/">The Deception of &#8220;Buying&#8221; Digital Movie</a>s, Matthew Morgan summarizes the key issue with purchasing movies, songs, and other content in digital-only formats.</p><blockquote><p>You are not provided any ownership of the content you have bought. Only that the content you &#8220;bought&#8221; will be &#8220;generally&#8221; available. Amazon is allowed to &#8220;sell&#8221; you a movie where they don&#8217;t have perpetual and irrevocable license to the movie they are selling. Leading to movies purchased being <a href="https://www.reddit.com/r/movies/comments/dn6wj5/just_fyi_you_do_not_actually_own_movies_purchased/">taken away from customers</a> when the copyright pulls the rights from Amazon. The same situation applies to other internet storefronts that claim to sell digital movies and TV shows, such as iTunes.</p></blockquote><p>Him name-dropping Amazon hits a personal note for me. Last week, while house-sitting for my parents I wanted to binge one of my favorite old shows: <a href="https://en.wikipedia.org/wiki/Top_Gear_(2002_TV_series)">Top Gear</a>. If you&#8217;re unfamiliar, it&#8217;s a car-themed adventure show. A few years back, the BBC decided to <a href="https://www.bbc.co.uk/news/entertainment-arts-32052736">let go of its foundational host</a>, Jeremy Clarkson and Amazon was quick to green light a successor show by Clarkson, Top Gear&#8217;s lead producer Andy Wilman, and then current Top Gear hosts James May and Richard Hammond. The new show, <em>The Grand Tour</em>, is nearly identical to Top Gear in structure, making it just as enjoyable. Because of this, I&#8217;ve invested a lot of my entertainment budget into Amazon Prime. Originally, even buying a subscription to MotorTrend through Prime to watch the original Top Gear. But, with a licensing shift, Top Gear left MotorTrend, and I was stuck with the spattering of episodes and specials I had bought before MotorTrend. Since then, I&#8217;ve bought multiple seasons. But I&#8217;m terrified one morning I&#8217;m going to wake up and see that the BBC decided to switch Top Gear to a completely different service, or negate my purchases entirely. I can&#8217;t even buy all of Top Gear on DVD or BlueRay to supplement my collection! After a brief search, I was only able to find 7 out of 23 season (worth watching) on Amazon. I can&#8217;t even find all the other&#8217;s on Ebay. Partially, because the show had so many editions and bundles. Between themed box sets of certain specials, specials released individually, and extended cuts it&#8217;s impossible to find exactly what you want from a 20-year-old show sourced from American Dads&#8217; DVD collections.</p><p>Basically, we shouldn&#8217;t have to worry about losing access to stuff we&#8217;ve purchased without getting some kind of equivalent compensation. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How We Can Fixed Publishing Online]]></title><description><![CDATA[Or &#8220;Explaining the first step in my evil plan to make writing easier&#8221;]]></description><link>https://www.hamtyped.com/p/how-we-can-fixed-publishing-online</link><guid isPermaLink="false">https://www.hamtyped.com/p/how-we-can-fixed-publishing-online</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Mon, 15 Aug 2022 13:30:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QiAq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QiAq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QiAq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QiAq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QiAq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QiAq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QiAq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87441,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QiAq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QiAq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QiAq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QiAq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053ffa28-4326-4613-87cd-aa17ab4bc6ed_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Between Two Points &#169; Tristan Isham</figcaption></figure></div><p>For the past few weeks, I&#8217;ve been busy working on what I thought would be the next-gen solution for web publishing. A little application called <a href="https://github.com/tristansham/bottle">Bottle</a>. It&#8217;s a minuscule website engine stuffed into a single file. You can use it to create and host a blog right from your laptop. It&#8217;s still young, and requires a lot of work (namely, you only have access to <a href="https://u8.quest">one theme</a> right now and it&#8217;s not even very good). But, these are temporary issues that should be fixed by the end of the year. If you&#8217;re technically savvy, don&#8217;t care for platforms, and want a fast blog in under a minute, please give Bottle a try. If you hate it, it&#8217;s very easy to uninstall. And you can always <a href="mailto:tristan@hamtyped.com">email me</a> if you have any questions or complaints. </p><p>Bottle means more to me than just another side project though. For as long as I can remember, I&#8217;ve been trying to figure out a better way to <a href="https://spectaculartelecast.tumblr.com/post/141782900589/how-to-save-the-news">write on the web</a>. There are many problems to solve. Monetization, distribution, community, and styling to gaze over a few. But the one I&#8217;m trying to solve first is publishing. Publishing on the web is hard. Actually owning your content, controlling where it lives, who gets to see it, and its price requires years of technical experience. Most writers don&#8217;t want to deal with that. They want to write! That&#8217;s why you&#8217;re reading this on a platform. Somebody else did all the work learning how make websites, found a bunch of likeminded people, and now makes money off all the writers who don&#8217;t know how to run their own newsletter. There&#8217;s nothing wrong with that. If our society scoffed at specialization we&#8217;d all be preparing for another day in the fields. </p><p>It is troubling that at any time you or I could be eradicated from this platform. We don&#8217;t have rights here. We&#8217;re customers, just like our readers. And no business should be forced to serve someone who doesn&#8217;t pay. I&#8217;m fine with that. The real problem is the technical knowledge gap. I want to make Bottle so friendly and easy to use anyone who knows how to type on their keyboard can publish a website. Presently, Bottle doesn&#8217;t achieve that. You need to know how to work a terminal, write Markdown, and YAML. How to get a Let&#8217;s Encrypt certificate and set up NGINX as a reverse proxy&#8212;see, your eyes already glazed over. It&#8217;s a complicated problem. But it doesn&#8217;t have to be.</p><p>What if Bottle did all that stuff for you? You could download the program, design your perfect publication, and pay $10/month to own your work forever. That&#8217;s it. The program on your machine styles, spell-checks, manages, and updates itself. The only reason you have to pay is because server&#8217;s cost money. If you have your own machine Bottle would work there too. Then it&#8217;d be free as in beer. If you do pay, the company behind Bottle would handle all the technical requirements for your site, but under a strict and fair contract. The company could not take down your content unless you were posting something illegal or stopped paying. This isn&#8217;t a perfect solution. I basically described any number of blogging services, but it&#8217;s a start. There are other ways to publish on the internet most technical writers might not even know about. It all depends on what you&#8217;re willing to sacrifice. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The <a href="https://ipfs.tech/">Interplanetary File System</a> is a peer to peer file sharing network built on <a href="https://ethereum.org/en/web3/">Web3</a>. If you upload a file, it breaks it up into small chunks, fingerprints each chunk based on the information it contains, and distributes them across a wide network of peers under a common unique identifier. The chunks are not mutable, and cannot be deleted from the network. Changes made to the files act like iterations on a Google Doc. Everyone can still see the old version, making your posts highly-resistant to illicit tampering. The only issue is that since it&#8217;s part of Web3 using it is ridiculously complicated. </p><p>There are tools to make publishing easy, and most people could use IPFS as a Google Drive replacement. But not many good tools exists to make IPFS a publishing platform. IPFS is its own protocol. You can&#8217;t just access your files from Chrome. That&#8217;s where Bottle comes in. You could download it, use it to sync your writing and little configuration file, update and post for free to IPFS, and then Bottle would take all the unique identifiers, get the most recent version of your posts, and build/deploy a production ready blog. </p><p>l haven&#8217;t tested this idea yet. I actually just came up with it right now. But, I&#8217;m already sold. Writers wouldn&#8217;t care that they couldn&#8217;t delete a post, or that previous, misprints, corrections, and versions would be public forever, right? Maybe it&#8217;s not about what writers want. My earliest posts on this newsletter were all about publications deceiving its reader&#8217;s. </p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:567019,&quot;url&quot;:&quot;https://hamtyped.substack.com/p/nbc-lied-googles-actions-play-dangerously&quot;,&quot;publication_id&quot;:28448,&quot;publication_name&quot;:&quot;Ham Typed&quot;,&quot;publication_logo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6ea59716-c7de-45ed-9524-723f8eb256a8_256x256.png&quot;,&quot;title&quot;:&quot;NBC lied. Google&#8217;s actions play dangerously in the Trump-Biden era.&quot;,&quot;truncated_body_text&quot;:&quot;On Tuesday, NBC NEWS writer Adele-Momoko Fraser published a story claiming that Google had banned right-wing websites ZeroHedge and The Federalist from its advertising platform for articles criticizing the #BlackLivesMatter movement and its coverage by left-wing media organizations. Fraser herself had participated in getting the sites banned from Google&#8230;&quot;,&quot;date&quot;:&quot;2020-06-18T21:57:29.607Z&quot;,&quot;like_count&quot;:0,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6540926,&quot;name&quot;:&quot;Tristan Isham&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ab7217ca-eea9-467a-9693-37873ea211da_200x200.png&quot;,&quot;bio&quot;:&quot;Go, Rust, and Hare developer. Aspiring author. https://ham.onl&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-03T03:45:23.161Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:121938,&quot;user_id&quot;:6540926,&quot;publication_id&quot;:28448,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:28448,&quot;name&quot;:&quot;Ham Typed&quot;,&quot;subdomain&quot;:&quot;hamtyped&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Ham Typed is an asynchronous almanac of unexpected information from the mind of Tristan Isham &quot;,&quot;logo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6ea59716-c7de-45ed-9524-723f8eb256a8_256x256.png&quot;,&quot;author_id&quot;:6540926,&quot;theme_var_background_pop&quot;:&quot;#0068ef&quot;,&quot;created_at&quot;:&quot;2020-01-29T16:41:43.256Z&quot;,&quot;rss_website_url&quot;:null,&quot;email_from_name&quot;:&quot;Ham Typed&quot;,&quot;copyright&quot;:&quot;Tristan Isham&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;}}],&quot;twitter_screen_name&quot;:&quot;TristanIsham&quot;,&quot;is_guest&quot;:false}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:null,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://hamtyped.substack.com/p/nbc-lied-googles-actions-play-dangerously?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!YpdC!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6ea59716-c7de-45ed-9524-723f8eb256a8_256x256.png" loading="lazy"><span class="embedded-post-publication-name">Ham Typed</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">NBC lied. Google&#8217;s actions play dangerously in the Trump-Biden era.</div></div><div class="embedded-post-body">On Tuesday, NBC NEWS writer Adele-Momoko Fraser published a story claiming that Google had banned right-wing websites ZeroHedge and The Federalist from its advertising platform for articles criticizing the #BlackLivesMatter movement and its coverage by left-wing media organizations. Fraser herself had participated in getting the sites banned from Google&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 years ago &#183; Tristan Isham</div></a></div><p>The internet has removed the unquestionable record of print. Perhaps, in exchange for free writing authors would have to take responsibility for what they wrote. </p><div><hr></div><p>I&#8217;m actually writing this post because I woke up humbled. After a month of working on Bottle in my free time I discovered that <a href="https://gohugo.io">Hugo</a>, a popular <a href="https://www.cloudflare.com/learning/performance/static-site-generator/">static site generator</a> was built in near-identical manner to Bottle. Hugo&#8217;s huge in the static site space. It&#8217;s one of the biggest open source publishing tools in use today. Realizing it would always outshine Bottle left me feeling like Icarus&#8217; during his last epiphany. </p><p>Writing has always held a hallowed place in my heart. It&#8217;s the tool I use to express myself, process difficult situations, heal, and share. I know for many of you it does the same. By making writing more accessible in our digital age and stripping the last remnants of gatekeeper&#8217;s powers we can truly give every person with an internet connection the unilateral right to free expression. It&#8217;s completing what the first scribe started millennia ago. </p><p>If you&#8217;re interested in helping Bottle, or just talking publishing head down to the comments. I&#8217;ll be in and out all day to answer any questions or discuss writing in general. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/how-we-can-fixed-publishing-online/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/how-we-can-fixed-publishing-online/comments"><span>Leave a comment</span></a></p><p>I hope your day is excellent, </p><p>Tristan Isham</p>]]></content:encoded></item><item><title><![CDATA[Problems]]></title><description><![CDATA[No puzzle. Just pieces. To be put down at any time. In any order. At your discretion. Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.]]></description><link>https://www.hamtyped.com/p/problems</link><guid isPermaLink="false">https://www.hamtyped.com/p/problems</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Wed, 20 Jul 2022 21:41:19 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbcd3913-d88b-4b1f-aa92-e9eca824d92d_1110x221.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="preformatted-block" data-component-name="PreformattedTextBlockToDOM"><label class="hide-text" contenteditable="false">Text within this block will maintain its original spacing when published</label><pre class="text">No puzzle.
    Just pieces.
To be put down at any time.
    In any order.
        At your discretion. </pre></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ham Typed! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AWS Lightsail’s networking gave me a headache ]]></title><description><![CDATA[This week at work was plenty silly.]]></description><link>https://www.hamtyped.com/p/aws-lightsails-networking-gave-me</link><guid isPermaLink="false">https://www.hamtyped.com/p/aws-lightsails-networking-gave-me</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Wed, 01 Jun 2022 00:17:55 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" width="3956" height="2220" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2220,&quot;width&quot;:3956,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;cable network&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="cable network" title="cable network" srcset="https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1558494949-ef010cbdcc31?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHwxfHxzZXJ2ZXJ8ZW58MHx8fHwxNjU0MDEwNjY4&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/es/@tvick">Taylor Vick</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>This week at work was plenty silly. I was tasked with building the world&#8217;s simplest web app. A 4-route REST server blocked by a single login, connected to a SQLite database, running on a $5 Lightsail VPS. For my first crack, I wrote out the entire app in Go&#8212;my preferred language&#8212;but found myself annoyed when I realized <a href="https://github.com/mattn/go-sqlite3">Go&#8217;s SQLite library</a> is a binding to C, and that to actually run my app I&#8217;d have to recompile my program on my server or install an older version of GCC. Which would not be really worth the effort. For my second, third, and final try I tried to deploy the site using Node and <a href="https://pm2.keymetrics.io/">PM2</a> as my process manager. Node&#8217;s great for sites where performance isn&#8217;t crucial. Its many libraries and build tools make it perfect for creating any form of web property while promises make expensive operations as painless as a single-threaded runtime can be. The only problem with my Node site was that as soon as I set up <a href="https://certbot.eff.org/">Certbot</a>, my site would break. No errors, no warning. Just consistently, as soon as I set up SSL, the application would break.&nbsp;</p><p>Turns out, AWS has a superset firewall you have to configure independent of your VPS. They&#8217;re also the only provider I&#8217;ve used that pre-configures a user other than root when initially setting up your server. To configure your firewall, use their web interface under the networking tab.&nbsp;</p><p>I think I&#8217;ll stick to Digital Ocean for now. Even with their recent price hikes.</p>]]></content:encoded></item><item><title><![CDATA[07 | The dead have risen]]></title><description><![CDATA[In a sequel everyone saw coming]]></description><link>https://www.hamtyped.com/p/07-the-dead-have-risen</link><guid isPermaLink="false">https://www.hamtyped.com/p/07-the-dead-have-risen</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Fri, 22 Apr 2022 00:55:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CAmU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CAmU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CAmU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 424w, https://substackcdn.com/image/fetch/$s_!CAmU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 848w, https://substackcdn.com/image/fetch/$s_!CAmU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 1272w, https://substackcdn.com/image/fetch/$s_!CAmU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CAmU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png" width="1456" height="789" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:789,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55998,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CAmU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 424w, https://substackcdn.com/image/fetch/$s_!CAmU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 848w, https://substackcdn.com/image/fetch/$s_!CAmU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 1272w, https://substackcdn.com/image/fetch/$s_!CAmU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F017e0f43-aa52-4f99-80c1-6c36eeff9012_1771x960.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last week, I wrote to you about the<a href="https://hamtyped.substack.com/p/01-the-death-of-sfc?s=w"> death of SFC</a>.<a href="https://sfc.cx"> SFC</a> was an URL shortening service I unceremoniously shut down after technical debt and lack of unique features made maintaining it more painful than it was worth. Except, that wasn&#8217;t entirely true.</p><p>In actuality, as I was writing SFC&#8217;s eulogy, I had already finished a total rewrite of the service and was setting up a new hosting environment. See, it&#8217;s hard for me to let go of projects. Especially one of the first web services I finished. And I&#8217;ve had an idea that SFC would be perfect for.</p><p>What if on a blog, you could set up dynamic<a href="https://ogp.me/"> Open Graph</a> tags, titles, and other meta data and get meaningful insights on how those variations impacted the conversion rate of your articles on third-party platforms like Twitter and Facebook? Open Graph is the social protocol that determines what information gets loaded when you paste a link on a social network and a dynamic card gets populated.</p><p><em>If you click to view the below tweet on Twitter&#8217;s website, the card that generates below the caption is an Open Graph card.</em></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/Twitter/status/593828669740584960?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E593828669740584960%7Ctwgr%5E%7Ctwcon%5Es1_c10&amp;ref_url=https%3A%2F%2Fdeveloper.twitter.com%2Fen%2Fdocs%2Ftwitter-for-websites%2Fcards%2Foverview%2Fsummary&quot;,&quot;full_text&quot;:&quot;Happy 3rd anniversary <span class=\&quot;tweet-fake-link\&quot;>#TBT</span>! See how \&quot;Throwback Thursday\&quot; cemented its status as a weekly Twitter tradition: https://t.co/IhGdmShWH6&quot;,&quot;username&quot;:&quot;Twitter&quot;,&quot;name&quot;:&quot;Twitter&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Thu Apr 30 17:26:02 +0000 2015&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:391,&quot;like_count&quot;:673,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>These changes wouldn&#8217;t be hard to measure. With access to how many sessions your article gets, using UTM tags accurately, and building the right management system into your backend to fairly distribute your variants per session it would be possible to implement an underutilized statistical exercise that could supercharge your viewership: split tests.</p><p>A split test, otherwise known as an A/B test, is a statistical test that compares multiple changes to an element of a website to determine what changes, if any, have improved a site metric (like conversion rate). Building a suite of tools to split test Open Graph data, or even just to change an article&#8217;s deck and header image dynamically, like how<a href="https://vidiq.com/blog/post/youtube-custom-thumbnails-vevo/"> changing an existing YouTube video&#8217;s thumbnail can increase the total video&#8217;s views</a>, is a great way of relieving a typical stressor from writers. By allowing more flexibility in how we distribute writing, we can optimize any given pieces performance, or produce an evergreen title card that dynamically updates given certain criteria.</p><p>This is all an idea I&#8217;ve been mulling over today, but in the context of SFC, I think adding the ability to combine the data of multiple links and run split tests on what pages a SFC link points to is an easy way to bring split testing to more people and provide a<a href="https://blog.pinboard.in/2011/12/don_t_be_a_free_user/"> service worth paying for</a>.</p><p>What do you think? If you&#8217;re a writer, would being able to test what decks and images increase your articles performance be something you or your organization would pay for? Leave a comment or <strong>if you&#8217;re reading this in an email reply.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/07-the-dead-have-risen/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/07-the-dead-have-risen/comments"><span>Leave a comment</span></a></p><p>If you know a writer, why not share Ham Typed with him or her?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/account/referrals?utm_source=post&quot;,&quot;text&quot;:&quot;Refer a friend&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/account/referrals?utm_source=post"><span>Refer a friend</span></a></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[06 | Twitter's most valuable asset]]></title><description><![CDATA[Despite its most valuable asset.]]></description><link>https://www.hamtyped.com/p/06-twitters-most-valuable-asset</link><guid isPermaLink="false">https://www.hamtyped.com/p/06-twitters-most-valuable-asset</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Wed, 20 Apr 2022 22:07:31 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" width="5472" height="3648" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3648,&quot;width&quot;:5472,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1622920157882-35cf1304beb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHx0d2l0dGVyfGVufDB8fHx8MTY1MDQwNzMyMA&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@unarchive">Jeremy Bezanger</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><blockquote><p><a href="https://stratechery.com/2022/back-to-the-future-of-twitter/">https://stratechery.com/2022/back-to-the-future-of-twitter/</a></p></blockquote><p>&nbsp;If you&#8217;re unfamiliar with Ben Thompson, his work is everything I strive to emulate in this newsletter. He covers the complex tech business succinctly, offers deep insights from a wide network of contacts, and provides possible solutions plaguing only the most interesting industries. Recently, Thompson and I have been in <a href="https://hamtyped.substack.com/p/03-elon-musk-wants-to-buy-twitter">total agreement</a> about Elon Musk&#8217;s potential acquisition of Twitter, the kind of innovation his ownership might bring, and the foolishness of the board to try and diminish it while the company struggles to make a consistent profit.</p><p>Thompson&#8217;s reasonings are that Twitter was more innovative when it was primary an API and web service:</p><blockquote><p>&#8220;Twitter the company ran the service and the Twitter.com website, while third-parties built clients that let you access Twitter first on the desktop and then on smartphones.</p><p>Mobile was an absolute boon for Twitter: the public messaging service, modeled on SMS, was a natural fit for a smartphone screen, and the immediacy of Twitter updates was perfectly suited to a device that was always connected to the Internet. The explosion in mobile usage, though, led to a situation where Twitter didn&#8217;t actually control the user experience for a huge portion of its users. This actually led to a ton of innovation: Twitterrific, for example, the earliest third party client, came up with the Twitter bird, the term &#8220;tweet&#8221; for a Twitter message, and early paradigms around replies and conversations. It also led to problems, the solutions to which fundamentally changed Twitter&#8217;s potential as a business.&#8221;</p></blockquote><p>Twitter inevitably moved into the mobile space itself by acquiring one of these clients, rebranding it as the default Twitter app, and limiting how many users third-party client could register to 100,000 over the application&#8217;s lifetime.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/06-twitters-most-valuable-asset?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/06-twitters-most-valuable-asset?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Thompson&#8217;s hope is that a Musk acquisition would mean a return to this paradigm:</p><blockquote><p>This is all build-up to my proposal for what Musk &#8212; or any other bidder for Twitter, for that matter &#8212; ought to do with a newly private Twitter.</p><p>First, Twitter&#8217;s current fully integrated model is a financial failure.</p><p>Second, Twitter&#8217;s social graph is extremely valuable.</p><p>Third, Twitter&#8217;s cultural impact is very large, and very controversial.</p><p>Given this, Musk (who I will use as a stand-in for any future CEO of Twitter) should start by splitting Twitter into two companies.</p><p>One company would be the core Twitter service, including the social graph.</p><p>The other company would be all of the Twitter apps and the advertising business.</p><p>TwitterAppCo would contract with TwitterServiceCo to continue to receive access to the Twitter service and social graph; currently Twitter earns around $13/user/year in advertising, so you could imagine a price of say $7.50/user/year, or perhaps $0.75/user/month. TwitterAppCo would be free to pursue the same business model and moderation policies that Twitter is pursuing today (I can imagine Musk sticking with TwitterServiceCo, and the employees upset about said control being a part of TwitterAppCo).</p><p>However, that relationship would not be exclusive: TwitterServiceCo would open up its API to any other company that might be interested in building their own client experience; each company would:</p><p>Pay for the right to get access to the Twitter service and social graph.</p><p>Monetize in whatever way they see fit (i.e. they could pursue a subscription model).</p><p>Implement their own moderation policy.</p><p>This last point would cut a whole host of Gordian Knots:</p><p>Market competition would settle the question about whether or not stringent moderation is an important factor in success; some client experiences would be heavily moderated, and some wouldn&#8217;t be moderated at all.</p><p>The fact that everyone gets access to the same Twitter service and social graph solves the cold start problem for alternative networks; the reason why Twitter alternatives always fail is because Twitter&#8217;s network effect is so important.</p><p>TwitterServiceCo could wash its hands of difficult moderation decisions or tricky cultural issues; the U.S. might have a whole host of Twitter client options, while Europe might be more stringent, and India more stringent still. Heck, this model could even accommodate a highly-censored China client (although this is highly unlikely).</p><p>I strongly suspect that a dramatic increase in competition amongst Twitter client services would benefit TwitterServiceCo, growing its market in a way that hasn&#8217;t happened in years. What is most exciting, though, is the potential development of new kinds of services that don&#8217;t look like Twitter at all.</p></blockquote><p>Thompson goes on further, describing a truly open TwitterServiceCo having the potential to be a new protocol for the internet:</p><blockquote><p>A truly open TwitterServiceCo has the potential to be a new protocol for the Internet &#8212; the notifications and identity protocol; unlike every other protocol, though, this one would be owned by a private company. That would be insanely valuable, but it is a value that will never be realized as long as Twitter is a public company led by a weak CEO and ineffective board driving an integrated business predicated on a business model that doesn&#8217;t work.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p>This is the part where I break off from Thompson. The advent of a super-sized API service that serves short bursts of text, video, and other media isn&#8217;t special. There&#8217;s already an existing open source decentralized social network <a href="https://joinmastodon.org/">protocol implemented on massive scale</a> called <a href="https://en.wikipedia.org/wiki/ActivityPub">ActivityPub</a>. Activity pub duplicates the functionality of Twitter in an open manner, allowing anyone to host an instance of a Twitter-like service with their own moderation policy while allowing users that have signed up on one site communicate with any other (if allowed by that site&#8217;s administrator) in the network.</p><p>Of course, Thompson is arguing the TwitterServiceCo&#8217;s business case. But the growth of any protocol is dependent on the ease and portability developers find it to work with. Having burnt so many bridges in the past the implementation of an open competitor to ActivityPub will have to be exceptional to convince a sizable number of developers to invest their time and money.</p><p>I&#8217;m not sure what Twitter should do. The service it provides is replicable, it&#8217;s relationship with developers is trepidations, and all eyes are on its users for perceived abuse and slight. Those users provide the real value to Twitter. A social platform of the most influential minds ripe for influencing. If someone were able to make those minds move, what does Twitter have left?</p><p>January last year, Twitter <a href="https://techcrunch.com/2021/01/26/twitter-acquires-revue/">bought newsletter platform Revue</a>, a Dutch startup that allows users to publish and monetize email newsletter similarly to Substack. <a href="https://blog.twitter.com/">Publicly in a blog post</a>, Product Lead Kayvon Beykpour and VP of Publisher Products Mike Park suggested that this was an additional way Twitter could serve writers and publishes that had built an audience on its platform. Coincidentally, this acquisition occurred right at the peak &#8220;is this the future of media&#8221; panic wave driven by Substack. Twitter has a history of buying early competitors in &#8220;new&#8221; media. Their acquisitions of <a href="https://aragonresearch.com/twitter-buys-periscope-a-video-is-worth-a-thousand-words/">Periscope</a> and <a href="https://thenextweb.com/news/twitter-acqui-hires-pre-launch-video-sharing-startup-vine">Vine</a> are historical successes. <a href="https://media.twitter.com/en/articles/products/2021/twitter-spaces">Spaces was a clone of Clubhouse</a> in its prime. These acquisitions are indicative of Twitter&#8217;s consumer base. It must stay relevant and fresh to keep its only unique asset. Influential high-society persons with media addictions.</p><div><hr></div><p>What do you think of these quick article formats? Leave a comment or <strong>reply if you&#8217;re reading this as an email.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/06-twitters-most-valuable-asset/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/06-twitters-most-valuable-asset/comments"><span>Leave a comment</span></a></p><p>If you enjoyed this article or any others why not invite a friend to subscribe?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/account/referrals?utm_source=post&quot;,&quot;text&quot;:&quot;Refer a friend&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/account/referrals?utm_source=post"><span>Refer a friend</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[05 | Google Docs is giving “inclusivity warnings”]]></title><description><![CDATA[And when did my pen decide what I could write?]]></description><link>https://www.hamtyped.com/p/05-google-docs-is-suggesting-inclusive</link><guid isPermaLink="false">https://www.hamtyped.com/p/05-google-docs-is-suggesting-inclusive</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Tue, 19 Apr 2022 22:01:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Gye1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gye1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gye1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 424w, https://substackcdn.com/image/fetch/$s_!Gye1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 848w, https://substackcdn.com/image/fetch/$s_!Gye1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 1272w, https://substackcdn.com/image/fetch/$s_!Gye1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gye1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png" width="704" height="330" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:330,&quot;width&quot;:704,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43283,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gye1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 424w, https://substackcdn.com/image/fetch/$s_!Gye1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 848w, https://substackcdn.com/image/fetch/$s_!Gye1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 1272w, https://substackcdn.com/image/fetch/$s_!Gye1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd48a9c-d2af-4b53-ae2d-d569d971e4b7_704x330.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://twitter.com/thecitywanderer/status/1516176983549530122?s=21&amp;t=YqJoT6n9eDnZOnY57jIs8w">@thecitywanderer on Twitter</a></figcaption></figure></div><p>First off, happy late Easter! As you&#8217;re aware, no new posts came out this preceding weekend. I intend to keep my writing restrained to weekdays so I have more time to enjoy life, family, and unwind. I have no excuse for yesterday.</p><div><hr></div><blockquote><p>https://news.ycombinator.com/item?id=31086310</p></blockquote><p>This has been a concern of mine since the end of 2020 when I first noticed Google Docs intruding on my articles during college with &#8220;inclusive changes&#8221;. How it works is that if Google Docs detects the use of an &#8220;inappropriate&#8221; word, which can be anything from a standard curse to something benign and completely unoffensive as &#8220;hey, guys&#8221;, it will insert a purple underline and provide more &#8220;inclusive&#8221; suggestions. The particular change linked to in the Hacker News thread is specific to Google Workspaces, but it&#8217;s not just Google deciding what words are appropriate to say. Microsoft GitHub unilaterally changed the default name of git&#8217;s primary branch from &#8220;master&#8221; to &#8220;main&#8221; overnight due to a perceived lack of inclusivity in 2020. As I write this Microsoft Word is trying to put words in my mouth by predicting every next word with &#8220;smart suggestions&#8221;. If you still don&#8217;t think Google and other large corporations have an outsized effect on how real people communicate, consider <a href="https://www.nytimes.com/2018/08/02/technology/google-maps-neighborhood-names.html">the East Cut</a>.</p><blockquote><p>For decades, the district south of downtown and alongside San Francisco Bay here was known as either Rincon Hill, South Beach or South of Market. This spring, it was suddenly rebranded on Google Maps to a name few had heard: the East Cut.</p></blockquote><blockquote><p>The peculiar moniker immediately spread digitally, from hotel sites to dating apps to Uber, which all use Google&#8217;s map data. The name soon spilled over into the physical world, too. Real-estate listings beckoned prospective tenants to the East Cut. And news organizations referred to the vicinity by that term.</p></blockquote><p>Inclusive language is not inherently wrong, and being welcoming to others is important for the health of any project. But forcing it upon a writer is paramount to a chef covering your lobster with ketchup because it&#8217;s the most general condiment. The intentions behind the decision might have been good natured, but the results are overbearing and feel malicious. I choose to use gendered pronouns in my writing like many authors because I think it sounds better. Just because I use &#8220;mailman&#8221; instead of &#8220;mailperson&#8221; doesn&#8217;t mean a woman cannot deliver my tax return. I encourage you to mentally replace any pronouns with whatever makes you feel most included in my writing. This feels implicit, and common in most works brought from an earlier age despite the initial authors intent. As in any art, nothing is realized without the reader. So why now must we suggest sanitizing authors when it&#8217;s always been up to the reader to decide how a story makes them feel?</p><p>Last week, I asked how you solve mental clutter. Some of you replied with an assortment of writing tools like Google Docs, Apple Notes, and scraps of paper. Others, I know, spend a few hours a week over a beautifully curated scheduler with different pens and stickers making a perfect summary of the days ahead. That individuality is beautiful and should be cherished in the tools writers (and everyone) use to keep track of our thoughts. So why is it considered default and appropriate to stamp out that individuality?</p><p>What gives these corporations the right to determine what&#8217;s acceptable for you or me to say? And why do we expect respect from advertising businesses built on exploiting our privacy? In part, I blame us for being so easily lulled into the effortlessness of having something else think on our behalf. When it comes to writing, we all make mistakes. Whether unintentionally through a finger slipup or a lack of knowledge, no piece goes unpublished without an edit or grammar check. To an extent, that&#8217;s fine! Why should I have to memorize the dictionary? But letting a machine decide if a writer should substitute his synonyms or suggest an entirely new word? How is that writer supposed to grow? Or develop a voice?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p>A strong counterpoint to this idea is to bring up that these &#8220;suggestions&#8221; are simply suggestions. Nothing is making me not write &#8220;hey, guys&#8221;. I&#8217;m free to ignore it and write what whatever pleases me. But by that logic, advertisements are simply suggestions and children are free to not smoke if a cool cowboy is on the back of a gum carton. We draw the line at advertisements that promote harmful behavior or bad habits because they influence our decisions. Inclusive language on the surface is not harmful but promoting it or other all-encompassesing ideas on the human condition over counter points diminishes the ability of protestors and counter intellectuals to have real, meaningful, conversations about contentious issues l<a href="https://bariweiss.substack.com/p/the-testosterone-hangover?r=3w70e&amp;utm_medium=ios">ike healthcare for trans children</a>, <a href="https://morning.thedispatch.com/p/the-morning-dispatch-biden-kicks-47c?r=3w70e&amp;utm_medium=ios">forgiving student loans</a>, and Covid-19. Google should not be the source of what&#8217;s morally right in the world. That is up for individuals to decide and respectfully discuss. You don&#8217;t have to agree with me about what ideas should be pushed or if ideas should be pushed at all&#8212;<em>tools should remain neutral until asked otherwise</em>, but you cannot ignore the blind spots stifling difficult discussion produces. If an idea is so right and powerful as to be gospel, then it should be capable of withstanding&#8212;and indeed be welcoming of&#8212;sharp criticism. Otherwise, you&#8217;ll have a hard time convincing me that you&#8217;re not lying to my face, or to yourself.</p><p>What do you think? Should writing tools promote certain kinds of language or is that up to the author? Are suggestions the same as advertisements? <strong>Leave a comment below or reply if you&#8217;re reading this as an email.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/05-google-docs-is-suggesting-inclusive/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/05-google-docs-is-suggesting-inclusive/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[04 | Deconstuctors ]]></title><description><![CDATA[A programming construct mutates into a life lesson]]></description><link>https://www.hamtyped.com/p/04-deconstuctors</link><guid isPermaLink="false">https://www.hamtyped.com/p/04-deconstuctors</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Fri, 15 Apr 2022 21:00:36 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" width="3024" height="4032" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4032,&quot;width&quot;:3024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;in progress building structure photo&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="in progress building structure photo" title="in progress building structure photo" srcset="https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1536895058696-a69b1c7ba34f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw0fHxjb25zdHJ1Y3Rpb258ZW58MHx8fHwxNjUwMDM4ODQx&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@nathangwaters">Nathan Waters</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>I&#8217;ve been building my own web server and part of the process involves a method of storing information in an object called a class. Classes consist of three parts: A constructor that takes information from somewhere in the program, builds the class with it, and allocates space to store the class; a use phase where the program does what it needs to with said class; and a deconstructor that releases the class and gives what space it has borrowed back.</p><p>It's a pattern that struck me as significant. Every day we go through the same motions as a class. We take, we use, but how often do we put back? The cluttered man often misses this step. An unmade bed, a messy desk, or a counter colonized with objects destined for later use. All of us take and forget to give back. But it&#8217;s giving back that often does the most good. </p><p>Everything has a default state whether natural or created by us on its behalf. </p><p>&#8226;&#9;A bathroom is by default, clean. But as it&#8217;s used it grows dirty. At some point, effort must be made to restore it to its default. Otherwise, it&#8217;ll become untenable to use or break. </p><p>&#8226;&#9;Love requires compassion, empathy, and the willingness to compromise. Every couple gets in fights, but the ones that last take the time to get back to a sensible default. They deconstruct their problems, biases, and each other&#8217;s failings to build a stronger, healthier pair. We take from those we love but we give back to make our love stronger. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p>Deconstructing isn&#8217;t typically fun. Nobody likes cleaning bathrooms or hard conversations, but understanding that deconstruction is a necessary step of maintaining the wellbeing of our things and relationships is important. It makes the good times more meaningful; more fulfilling. It&#8217;s why I imagine service and volunteer work are popular. The Red Cross wouldn&#8217;t need to keep harassing me to donate blood if it was a fun, but the benefit of doing it far outweighs the cost for many people.</p><p>Deconstructors are a necessary evil in life. They represent all the difficult bits that are required to keep the fun parts going. They represent our lows, but without the work deconstructors do, there would be no highs.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/04-deconstuctors?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/04-deconstuctors?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p><p>Did this piece help you identify a pattern you hadn&#8217;t considered? Or have you already been thinking with deconstructors? Leave a comment below or reply if you&#8217;re reading this as an email.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/04-deconstuctors/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/04-deconstuctors/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[03 | Elon Musk wants to buy Twitter]]></title><description><![CDATA[It&#8217;s not that big of a deal. I bought a toilet brush the other day too]]></description><link>https://www.hamtyped.com/p/03-elon-musk-wants-to-buy-twitter</link><guid isPermaLink="false">https://www.hamtyped.com/p/03-elon-musk-wants-to-buy-twitter</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Thu, 14 Apr 2022 14:37:57 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a1257bb1-e738-41e8-8ded-8adb84581932_220x289.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Literally the first &#8220;thing&#8221; I saw rolling out of bed was a notification for this tweet:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/elonmusk/status/1514564966564651008?s=21&amp;t=eDpMr3BT1yznnHQZfhmo1A&quot;,&quot;full_text&quot;:&quot;I made an offer \n<a class=\&quot;tweet-url\&quot; href=\&quot;https://www.sec.gov/Archives/edgar/data/0001418091/000110465922045641/tm2212748d1_sc13da.htm\&quot;>sec.gov/Archives/edgar&#8230;</a>&quot;,&quot;username&quot;:&quot;elonmusk&quot;,&quot;name&quot;:&quot;Elon Musk&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Thu Apr 14 11:23:21 +0000 2022&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:55264,&quot;like_count&quot;:349277,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>Turns out, Elon Musk&#8217;s <a href="https://www.sec.gov/Archives/edgar/data/0001418091/000110465922045641/tm2212748d1_sc13da.htm">made an offer </a>to buy Twitter and take it private. Attached as a statement to the chairman of the Twitter board, <a href="https://www.salesforce.com/company/leadership/bios/bio-taylor/?bc=OTH">Bret Taylor</a>:</p><blockquote><p>&#8220;I invested in Twitter as I believe in its potential to be the platform for free speech around the globe, and I believe free speech is a societal imperative for a functioning democracy. &nbsp;</p><p>However, since making my investment I now realize the company will neither thrive nor serve this societal imperative in its current form. Twitter needs to be transformed as a private company.</p><p>As a result, I am offering to buy 100% of Twitter for $54.20 per share in cash, a 54% premium over the day before I began investing in Twitter and a 38% premium over the day before my investment was publicly announced. My offer is my best and final offer and if it is not accepted, I would need to reconsider my position as a shareholder.</p><p>Twitter has extraordinary potential. &nbsp;I will unlock it.&#8221;</p></blockquote><p> In a later message (<a href="https://www.sec.gov/Archives/edgar/data/0001418091/000110465922045641/tm2212748d1_sc13da.htm">attached to the SEC filing</a>) Musk said:</p><blockquote><p>If the deal doesn&#8217;t work, given that I don&#8217;t have confidence in management nor do I believe I can drive the necessary change in the public market, I would need to reconsider my position as a shareholder.</p><p>This is not a threat, it's simply&nbsp;not a good investment without the changes that need to be made.</p><p>And those changes won't happen without taking the company private.&#8221;</p></blockquote><p>This play had telegraphed for weeks.  Rumors were when Musk declined to join Twitter&#8217;s board of directors it was to avoid a 14% ownership ceiling on Twitter stock.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><h2>Opinion</h2><p>This is probably fine. According to the <a href="https://www.pewresearch.org/fact-tank/2019/08/02/10-facts-about-americans-and-twitter/">Pew Research Center</a>, only 1/5 of Americans use Twitter. Those that do are young and &#8220;highly educated&#8221;.  Twitter is the Media Classes&#8217; town square. It&#8217;s paramount to writers, tech thinkers, and creators because it&#8217;s formatting allows for the rapid relaying of information. More so than any other social network. Musk is the personification of all those qualities. It&#8217;s what&#8217;s made him a power user of the platform for years and what makes him the most qualified to right the ship. </p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/leslieoo7/status/1514568898930216967?s=21&amp;t=nrwZK2-zwPD9GnYN5LXbow&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@RepMontague</span> <span class=\&quot;tweet-fake-link\&quot;>@elonmusk</span> If you're paying billions, you're buying speech. It's not free.&quot;,&quot;username&quot;:&quot;Leslieoo7&quot;,&quot;name&quot;:&quot;Leslieoo7 &#59904;&#127803;&#127482;&#127462;&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Thu Apr 14 11:38:59 +0000 2022&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:176,&quot;like_count&quot;:4409,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Some people are not happy about this. There&#8217;s a growing movement in this country against the upper class and the reaches of individual power. It can&#8217;t do anything, but it makes reading the news even more tedious than I thought possible. There&#8217;s nothing wrong with being rich&#8212;<em>I say as a moderately unwealthy man. </em>But there is an issue when <a href="https://nypost.com/2022/04/11/joe-rogan-slams-nancy-pelosi-pols-for-insider-trading/">you use your wealth and power to abuse the system to further enrich yourself. </a></p><p>At the risk of making me sound even more like a fanboy, I&#8217;ve seen little evidence of Musk being cut from the same cloth as Pelosi or Bezos. I am however, unprepared to defend that claim. And would love counter evidence to kill off the last remanent of respect I have for public figures. </p><p>What do you think of Musk attempting to buy Twitter. Does this affect you? Do you think the changes he will bring to Twitter will be good?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/03-elon-musk-wants-to-buy-twitter/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/03-elon-musk-wants-to-buy-twitter/comments"><span>Leave a comment</span></a></p><p><strong>Leave a comment or respond to this post if you&#8217;re reading it as an email! </strong></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/03-elon-musk-wants-to-buy-twitter?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you&#8217;ve been enjoying my daily posts, consider sharing this newsletter with someone you love&#8212;or hate&#8230;</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/03-elon-musk-wants-to-buy-twitter?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/03-elon-musk-wants-to-buy-twitter?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[02 | How do you solve mental clutter?]]></title><description><![CDATA[Take some notes.]]></description><link>https://www.hamtyped.com/p/02-how-do-you-solve-mental-clutter</link><guid isPermaLink="false">https://www.hamtyped.com/p/02-how-do-you-solve-mental-clutter</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Wed, 13 Apr 2022 23:03:09 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080" width="3200" height="2133" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2133,&quot;width&quot;:3200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;person carrying backpack inside library&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="person carrying backpack inside library" title="person carrying backpack inside library" srcset="https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1524311583145-d5593bd3502a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHxjbHV0dGVyfGVufDB8fHx8MTY0OTg5MDk3MQ&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@darwiiiin">Darwin Vegher</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Through a convoluted network of butterflies flapping their wings and poor time management, I often found myself in various <em>offices</em> during primary school. First, was speech therapy. An odyssean epic that stretch from second to eighth grade leaving me with the smoothest &#8220;r&#8221; you&#8217;ve ever heard. Then there was organization and it&#8217;s many seminars. </p><p>I was not a neat kid. Nor am I a neat man. My main method of organization is to put everything on one desk to be found months (or years) later through perturbed <a href="https://www.thoughtco.com/archaeological-dating-stratigraphy-and-seriation-167119">stratigraphy</a>. &nbsp;As a child, this extended to my locker where the end of the year would often constitute an archeological event and the rediscovery of &#8220;Missing Assignment 5 &#8212; Biology&#8221;. In an attempt to modernize my methods each year the students would be given a planner to use at their discretion. I had to write all my assignments in it and have it signed off by my teachers. </p><p>I&#8217;m lightly teased by loved ones for habitually saying, &#8220;I can&#8217;t do anything I&#8217;m not interested in&#8221;. But I&#8217;m this case it was more than true. Being told to do something I was not interested in sparked a passionate flame chasing active disorganization. If there were war crimes for paper I&#8217;d be writing to you from Nuremberg.</p><p> But college came and with it my hatred for for planners faded. As the complexity of a college schedule soon engulfed my life, I found that writing down on which dates what was due had an outstanding impact on my mood and productivity. I&#8217;d wish I wasn&#8217;t so stubborn before! </p><p>Which leads to the root of this essay. Now, I&#8217;m struggling to reconnect with the enlightened Tristan of 2019 who kept a rigorous planner that made his life easier. What I need to track has changed: the scale of which life events happen; the domains each task falls under. <em>How can I keep track of it all in a way that fits me?</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><h4><br>Private</h4><p>Privacy is the most important thing for me when considering a planner. It&#8217;s not because I&#8217;m writing my &#8220;plans for world domination&#8221;, on Thursday. Simply, the thought of people I don&#8217;t know just being able to see my notes&#8212;a space warranted to have all my best ideas and worst thoughts&#8212;at any moment brings me immense discomfort. <br><a href="https://notability.com">Notability</a> concerns me for this reason. After reading their privacy policy I&#8217;m still not sure if they can read notes that aren&#8217;t &#8220;shared&#8221; publicly. I don&#8217;t want to use an app that I can&#8217;t be 100% sure I trust. </p><h3>Style</h3><p>I&#8217;m a sucker for black and thin. Ink; typefaces; margins. There&#8217;s nothing better than a modern paper and sans-serif emboldened design. My favorite app for style is <a href="https://bear.app">Bear</a>. It&#8217;s Apple only, but I&#8217;ve been paying for the premium version for half a decade and despite leaving Apple completely twice in that era, I&#8217;ve never canceled my subscription. I&#8217;ve always known it would call me back. But it&#8217;s markdown and professional writing capabilities are sparse and non-standard. That makes organizing a lot of posts wordy and leaves a user with a clutter of semi-intelligent tags.</p><h3>Pleasure</h3><p>There&#8217;s something serene about feeling a pen gives as it scratches along the right kind of paper. Is like breaking through a barrier in your mind, freeing stuffy thought, and gibberish and forming them into beauty. Typing isn&#8217;t always as pleasurable. A lot of writing apps strive to &#8220;get out of your way&#8221;, but I&#8217;ve never really found their designs helpful. A blank piece of paper with no limitations is not a conducive environment for writing. Margins, line height, and spacing all play a role in how and what we do with paper. Of course, it&#8217;s not impossible to write or create without restriction, but it&#8217;s friction that creates fire. I&#8217;d prefer an environment with my tools obvious and present. Even if it&#8217;s to just tell me what keyboard shortcuts I need to press to access them. </p><h3>Portability</h3><p>At this point you&#8217;d be right to point out the best contender in all previous categories is just plane old paper. It&#8217;s pleasurable to write on, stylish to a fault, and as private as you make it. But where it fails to be a solution is portability. I think that's self evident if you consider I always have my phone on me.</p><h3>I need your help</h3><p>What apps do you use to keep track of your life? How do your organize your time, keep track of deadline, and take notes? Comment below, or reply if you're reading this as an email.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/02-how-do-you-solve-mental-clutter/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/02-how-do-you-solve-mental-clutter/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[01 | The Death of SFC]]></title><description><![CDATA[Why I built a URL Shortener and why it's dying.]]></description><link>https://www.hamtyped.com/p/01-the-death-of-sfc</link><guid isPermaLink="false">https://www.hamtyped.com/p/01-the-death-of-sfc</guid><dc:creator><![CDATA[Tristan Isham]]></dc:creator><pubDate>Tue, 12 Apr 2022 22:00:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TAHy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few months ago <a href="https://is.gd/">is.gd</a>, a popular URL shortening service old enough to vote suddenly went dark. No links redirected and the website was unreachable. This was due to the .gd registrar putting its domain in a <a href="https://support.wix.com/en/article/domain-status-clienthold-or-serverhold">serverHold</a>&#8212;essentially suspended--status.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TAHy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TAHy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 424w, https://substackcdn.com/image/fetch/$s_!TAHy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 848w, https://substackcdn.com/image/fetch/$s_!TAHy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 1272w, https://substackcdn.com/image/fetch/$s_!TAHy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TAHy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png" width="1005" height="613" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:613,&quot;width&quot;:1005,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83980,&quot;alt&quot;:&quot;Email from the is.gd team letting me know their domain was put on serverHold&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Email from the is.gd team letting me know their domain was put on serverHold" title="Email from the is.gd team letting me know their domain was put on serverHold" srcset="https://substackcdn.com/image/fetch/$s_!TAHy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 424w, https://substackcdn.com/image/fetch/$s_!TAHy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 848w, https://substackcdn.com/image/fetch/$s_!TAHy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 1272w, https://substackcdn.com/image/fetch/$s_!TAHy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F21db2569-4e4f-4828-b95a-01b8db02a817_1005x613.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An email I got from the is.gd team</figcaption></figure></div><p>I was in desperate need of their service at the time and thus tried switching my business over to Bitly and TinyURL. But each of their sites were cluttered, complex, and too feature rich for my needs. So, I decided to build my own.</p><p><a href="https://sfc.cx/">SFC</a> was a simple site spun up with Express and Typescript in a few evenings right after I had decided to branch out from PHP into the modern world. It would let you shorten a link, track how many times it had been clicked, and, if you signed up for an account, give you a dashboard to track your links. It worked, and it quickly picked up users. Spam wasn&#8217;t even that bad, though there was one incident of a bot creating 15,000 links to a certain website before I added a captcha.</p><p>Building SFC was a great experience that helped me sharpen my skills as a web developer, develop better security practices, and help me realize just how much I hate working with JavaScript. <br>A few months have passed and all the little things I had built have started to break. My Auth0 connection surprisingly being the first, rendering my accounts (thought far and few between) useless. Then, the code itself. I won&#8217;t lie, it&#8217;s my fault. I wrote SFC with a framework in a language I was had never used and my code was poor quality. But, I simply don&#8217;t understand how people enjoy writing services in JavaScript. It&#8217;s a complex mess notoriously flexible in its failings. Something, somewhere, had broken. And it was taking the site with it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/subscribe?"><span>Subscribe now</span></a></p><p>So I rewrote it. The entire app; in one night; in Go. It was my first time using the <a href="https://gofiber.io/">Fiber</a> framework, which is designed to look like Express and is currently the fastest framework Go offers. It was fun, and in some ways better than my usually experience with <a href="https://gin-gonic.com/">Gin</a>. But last night setting the service up I couldn&#8217;t shake the feeling that there was no point to my labor.</p><p>I had been inspired to fix SFC because of a thread on hacker news about small project burnout. Many programmers end up leaving their projects to die after getting bored with them. And I didn&#8217;t want SFC to be the same. But, I wasn&#8217;t even using my service anymore. I had no use for it, and most of the links in its backlog were mine.</p><p>So today SFC is down. Probably tomorrow too. I&#8217;m not going to pay for dedicated hosting on the service anymore. There&#8217;s no point when users were so low. But, for the sake of the few links that were not mine, I&#8217;m going to look into serverless (perhaps with Rust and Cloudflare Workers) to see if I can get a simple redirect set up to service the remaining links.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.hamtyped.com/p/01-the-death-of-sfc/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.hamtyped.com/p/01-the-death-of-sfc/comments"><span>Leave a comment</span></a></p><div><hr></div><p>This is a new style of post meant to be simple and easy to publish daily. Excuse this posts failings. I haven&#8217;t had any coffee yet.</p><p></p><p></p>]]></content:encoded></item></channel></rss>