<?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:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by David (drbh) Holtz on Medium]]></title>
        <description><![CDATA[Stories by David (drbh) Holtz on Medium]]></description>
        <link>https://medium.com/@drbh?source=rss-89213a5e3ef------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Wy9kcRuCJRSRAQFkOzHBEA.png</url>
            <title>Stories by David (drbh) Holtz on Medium</title>
            <link>https://medium.com/@drbh?source=rss-89213a5e3ef------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 21:26:04 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@drbh/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[How to run GPT4ALL in a private cloud]]></title>
            <link>https://drbh.medium.com/how-to-run-gpt4all-in-a-private-cloud-d37d86afec86?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/d37d86afec86</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[containers]]></category>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[open-source]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Thu, 01 Jun 2023 22:10:35 GMT</pubDate>
            <atom:updated>2023-06-01T23:33:35.126Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Eea6eZZrQVeq2Ga2fLriKA.png" /></figure><p>TLDR; check out <a href="https://github.com/drbh/gmessage">https://github.com/drbh/gmessage</a> for the latest code</p><h3>Background</h3><p>Large language models like ChatGPT and LlaMA are amazing technologies that are kinda like calculators for simple knowledge task like writing text or code.</p><p>I wont get into the weeds, but at the core, these technologies are using precise statistical analysis to generate text that is most likely to occur next.</p><p>The models can do this, because they have seen a large amount of text (way more text than any human can read) and they optimize their statistical guesses using the text as the source of truth.</p><p>LLM’s have already proven very helpful for a number of tasks, but because of their technical complexity there are very few providers of these models.</p><p>Fortunately, some really smart people have deciphered the open source models shared by large organizations and reduced their size and hardware requirements by drastic amounts. Resulting in the ability to run these models on everyday machines.</p><p>I especially want to point out the work done by ggerganov; <a href="https://github.com/ggerganov/llama.cpp">llama.cpp</a> which enables much of the low left mathematical operations, and Nomic AI’s <a href="https://github.com/nomic-ai/gpt4all">GPT4ALL</a> which provide a comprehensive layer to interact with many LLM models. I encourage the readers to check out these awesome projects!</p><p>In addition to running models locally, I’ve been seeking a way to run my own LLM in a personal private network and interact with it in my browser similar to ChatGPT.</p><p>Since GPT4ALL had just released their Golang bindings I thought it might be a fun project to build a small server and web app to serve this use case.</p><p>Later that day gmessage was born: <a href="https://github.com/drbh/gmessage">https://github.com/drbh/gmessage</a></p><p>gmessage is yet another web interface for gpt4all with a couple features that I found useful like search history, model manager, themes and a topbar app.</p><p>While the application is still in it’s early days the app is reaching a point where it might be fun and useful to others, and maybe inspire some Golang or Svelte devs to come hack along on open source AI tech!</p><h3>What’s the end result</h3><p>Before scrolling down and dedicating 5 minutes to setting this up, what is the end result? Whadda I get?</p><h4>🔍 Search</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7VwT0zIul9NkH_LE_TTN6w.gif" /></figure><h4>🎨 Themes</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*36_QXR1d2J36M7_WNlKXfg.gif" /></figure><h4>⚙️ Model Download Manager</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xxoM7_KsnUEisqBZULAjfg.gif" /></figure><p>There are other features currently implemented like text-to-speech and both a desktop and web version. As well as many more features being worked on now.</p><h4>How to run right now</h4><pre>docker run -p 10999:10999 drbh/gmessage:v0.0.0</pre><p>or if you just want to see the UI and test it out you can test it here</p><p><a href="https://gmessage.xyz/">https://gmessage.xyz</a></p><h3>How to deploy in your own cloud</h3><p>First clone the repo</p><pre>git clone https://github.com/drbh/gmessages.git</pre><p>Next, since we want to deploy this remotely we’ll need to use a cloud provider.</p><p>For simplicity and low cost we’ll use Fly.io to deploy our Dockerfile with only a few commands</p><pre>fly launch</pre><p>Great! That was easy, now we just wait for the process to complete and fly will share a custom url with you.</p><p>Note; you’re server is not secured by any authorization or authentication so anyone who has that link can use your LLM.</p><p>Additionally if you want to run it via docker you can use the following commands.</p><pre>docker build -t gmessage .<br>docker run -p 10999:10999 gmessage</pre><p>In production its important to secure you’re resources behind a auth service or currently I simply run my LLM within a person VPN so only my devices can access it.</p><p><em>If you’re interested or currently building large distributed networks with open source LLM’s please reach out!</em></p><h3>Conclusion</h3><p>It’s early days for open source LLMs and privacy preserving AIs. While the models are not perfect now, progress is happening fast and every day new advancements are made!</p><p>Its also early days for gmessage and we can use all the help we can get to build a fun and helpful chat interface, please think about contributing or trying out the project!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d37d86afec86" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Mercari partners with ChatGPT to enhance its search and recommendation capabilities]]></title>
            <link>https://drbh.medium.com/mercari-partners-with-chatgpt-to-enhance-its-search-and-recommendation-capabilities-917834242c74?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/917834242c74</guid>
            <category><![CDATA[business]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[shopping]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Thu, 20 Apr 2023 20:45:49 GMT</pubDate>
            <atom:updated>2023-04-20T20:45:49.321Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Mercari partners with ChatGPT to enhance its search and recommendation capabilities" src="https://cdn-images-1.medium.com/max/770/0*RGsvuSRbNYKIeKte.png" /></figure><p>Mercari, the renowned Japanese e-commerce platform, has announced a strategic partnership with ChatGPT, an AI company that specializes in natural language processing (NLP) and machine learning. The goal of the collaboration is to further streamline Mercari’s search and recommendation functions by implementing AI-powered chatbots.</p><p>The partnership will revolve around the implementation of Mercari AI, a brand-new chatbot that was designed to improve the user experience. Mercari AI will utilize ChatGPT’s cutting-edge NLP technology to provide more personalized recommendations to users, based on their browsing and purchase histories. The chatbot will be accessible through the Mercari marketplace app, and will work in real-time to provide immediate feedback to shoppers.</p><p>With ChatGPT’s advanced algorithms, Mercari AI will be able to help users more effectively search for products on the platform. By analyzing user queries and search histories, the chatbot will be able to provide more accurate and relevant results. This will help improve the accuracy and speed of search functions on the Mercari platform, leading to a better experience for customers and sellers alike.</p><p>In addition to search and recommendation functions, Mercari AI will also incorporate chatbot technology that will be able to assist users with customer service in real-time. This will be a significant improvement over the previous system, which required users to submit a request and wait for a response. Now, customers will be able to chat directly with the platform’s AI, which will be able to assist them instantly.</p><p>Overall, the partnership between Mercari and ChatGPT is an innovative and exciting development for the e-commerce industry. With Mercari AI, users can expect more personalized and efficient search and recommendation functions, as well as an improved customer service experience. Mercari plans to roll out the chatbot gradually, starting with a select group of users and expanding worldwide in the future.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=917834242c74" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[New Plug-In Helps Companies Prevent Sensitive Data Leakage to AI Chatbots]]></title>
            <link>https://drbh.medium.com/new-plug-in-helps-companies-prevent-sensitive-data-leakage-to-ai-chatbots-8adad83a8ffa?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/8adad83a8ffa</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[security]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Thu, 20 Apr 2023 20:43:27 GMT</pubDate>
            <atom:updated>2023-04-20T20:43:27.042Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="New Plug-In Helps Companies Prevent Sensitive Data Leakage to AI Chatbots" src="https://cdn-images-1.medium.com/max/1024/0*HzYnKcKhqm8PkfBt.jpg" /></figure><p>A plug-in, called LLM Shield, has been released by San Francisco-based start-up Patented.ai to help companies protect their sensitive or proprietary data from AI chatbots. The LLM Shield is an AI model designed to recognize various kinds of sensitive information including trade secrets, personally identifiable information, HIPPA-protected health data, and military secrets. When an employee enters such sensitive data into a chatbot, LLM Shield is able to recognize it and alert the employee that they are about to share sensitive information in the chatbot. The plug-in will not charge the customer for such warnings, but will charge if it helps the customer block a piece of content from being shared or obfuscates certain aspects of sensitive content.</p><p>According to Patented.ai, while AI is a powerful tool, it’s not necessary to ban employee access. Rather, with better visibility and control, companies should have confidence in their employees and their usage of LLMs. Based on the demand prompted by leaks at companies like Samsung, this development of LLM Shield was accelerated. Patented.ai intends to roll out new types of security products powered by its AI model throughout this year, which will include a version of the plug-in for personal use.</p><p>Generative AI models have many applications within businesses large and small. However, many companies are becoming increasingly concerned about how sensitive or private information could be used by the models. The inner workings of such AI models are still not completely understood. In an attempt to minimize the chance of leaks, some major financial institutions have banned the use of OpenAI‘s ChatGPT, including Bank of America, Goldman Sachs, Citigroup Inc., Deutsche Bank AG, and Wells Fargo. Avivah Litan, an analyst with consulting firm Gartner, believes a new class of AI trust-, risk-, and security-management tools is needed to manage data flows and processes between users and companies who host generative-AI foundation models.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8adad83a8ffa" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Artificial Intelligence Can Deliver Better CX: But Live Agents Will Always Be Nearby]]></title>
            <link>https://drbh.medium.com/artificial-intelligence-can-deliver-better-cx-but-live-agents-will-always-be-nearby-501fba82894e?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/501fba82894e</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[customer-experience]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Thu, 20 Apr 2023 19:01:52 GMT</pubDate>
            <atom:updated>2023-04-20T19:01:52.851Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Artificial Intelligence Can Deliver Better CX: But Live Agents Will Always Be Nearby" src="https://cdn-images-1.medium.com/proxy/0*LILw2nA1MexPlTZ6" /></figure><p>Artificial Intelligence (AI) has become one of the most popular buzzwords in the world of customer service. With its ability to analyze data and provide instant solutions to customer inquiries, it is no surprise that AI is being embraced by companies worldwide.</p><p>AI is a boon for companies looking to deliver better customer experiences (CX). By automating repetitive tasks, AI machines can free up live agents to deal with more complex issues that require human intervention. AI chatbots offer 24/7 support and are able to handle a high volume of inquiries at scale. As AI machines get smarter through time, they can learn from past engagements and gain knowledge about specific customer needs.</p><p>But does this mean that live agents will become obsolete? The answer is no. AI machines still lack the empathy and cognitive skills that live agents possess. While they may provide immediate answers to simple inquiries, they cannot replace a human touch when providing solutions to more complex customer problems. Many customers still prefer to interact with an actual person when they encounter challenges or when they require personalized recommendations that only a human can provide.</p><p>The true power of AI lies in its ability to complement, not replace, live agents. By using AI machines to handle simpler tasks, agents can focus on more complex issues, provide personalized recommendations and deliver the kind of customer service that only a human touch can provide.</p><p>In conclusion, AI machines are a valuable addition to any company’s customer service strategy. They can handle a high volume of inquiries at any time of the day, providing quick answers to customers at the touch of a button. However, live agents are essential to provide a truly personalized and empathetic customer experience, which ultimately is what really sets one brand ahead of another.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=501fba82894e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Hendrick’s Gin Takes Marketing to Another Level with a Parody of ChatGPT]]></title>
            <link>https://drbh.medium.com/hendricks-gin-takes-marketing-to-another-level-with-a-parody-of-chatgpt-e4ccf8fc097c?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/e4ccf8fc097c</guid>
            <category><![CDATA[comedy]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Thu, 20 Apr 2023 18:59:58 GMT</pubDate>
            <atom:updated>2023-04-20T18:59:58.731Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Hendrick’s Gin Takes Marketing to Another Level with a Parody of ChatGPT" src="https://cdn-images-1.medium.com/max/1024/0*-F8lpNUW2pKwllbJ.jpg" /></figure><p>Hendrick’s Gin, famous for its unusual and quirky marketing campaigns, has done it again with their latest spoof on ChatGPT. Chat G&amp;T, the human chatbot, was introduced as a parody of the AI-powered chatbot to promote the brand’s summer sales campaign.</p><p>The Instagram Live series featured a human ‘chatbot’ who had the ability to converse with the audience in real-time. The chatbot also had a ‘personality’ — witty, charming and delightful, drawing in viewers and making them stay for the duration of the half-hour sessions. The series was hosted by Eddie McDougall, an expert in spirits and drinks, who acted as a translator between the audience and the ‘chatbot’.</p><p>The main goal of the marketing stunt was to promote the brand’s summer sales campaign, which offers a discount on buying two bottles of Hendrick’s Gin. The human chatbot, Chat G&amp;T, was the perfect tool to relay this message in an entertaining and engaging way.</p><p>Hendrick’s Gin has a reputation for coming up with some of the most innovative and witty campaigns. Their creativity in their marketing could be attributed to their understanding of their audience’s personality, a mixture of people who appreciate the simple pleasures in life with a hint of quirkiness.</p><p>With Chat G&amp;T, Hendrick’s Gin has managed to create another unique and amusing campaign that would surely grab the attention of their target audience.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e4ccf8fc097c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Bark: A Revolutionary Multilingual Text-to-Speech Generation Tool]]></title>
            <link>https://drbh.medium.com/bark-a-revolutionary-multilingual-text-to-speech-generation-tool-6a61e5aa3ddf?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/6a61e5aa3ddf</guid>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Thu, 20 Apr 2023 18:59:06 GMT</pubDate>
            <atom:updated>2023-04-20T18:59:06.640Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Bark: A Revolutionary Multilingual Text-to-Speech Generation Tool" src="https://cdn-images-1.medium.com/proxy/0*jH_xIPpWMsX35BiJ" /></figure><p>Bark is a cutting-edge text-to-speech (TTS) technology that has taken the AI world by storm. Unlike the typical TTS engines that sound robotic and mechanic, Bark offers human-like voices that are highly realistic and natural sounding.</p><p>Bark uses GPT-style models to generate speech with minimal tweaking, producing highly expressive and emotive voices that can capture nuances such as tone, pitch, and rhythm. It offers a fantastic experience that can leave you wondering if you’re listening to human beings.</p><p>Notably, Bark supports multiple languages and can generate speech in Mandarin, French, Italian, Spanish, and other languages with impressive clarity and accuracy. With Bark, you can easily switch between languages and still enjoy high-quality sound effects.</p><p>Bark is not only intelligent but also intuitive, making it an ideal tool for individuals and businesses looking to create high-quality voice content for their platforms. Whether you’re looking to create podcasts, audiobooks, video game sounds, or any other form of voice content, Bark has you covered.</p><p>So, if you’re looking for a revolutionary text-to-speech technology that can elevate your voice content, Bark is the way to go!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6a61e5aa3ddf" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing PlugName: Unleashing the Power of ChatGPT for Your Next Big Idea!]]></title>
            <link>https://drbh.medium.com/introducing-plugname-unleashing-the-power-of-chatgpt-for-your-next-big-idea-1150444deda7?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/1150444deda7</guid>
            <category><![CDATA[serverless]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[chatgpt]]></category>
            <category><![CDATA[chatbots]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Wed, 05 Apr 2023 21:01:34 GMT</pubDate>
            <atom:updated>2023-04-05T21:11:51.108Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*u-Ivo-zXbg7eNJ-Vy6Lw_Q.png" /><figcaption>PlugName Logo</figcaption></figure><p><em>Discover the ultimate domain generator and availability checker that will revolutionize your online presence!</em></p><p>Hey there, fellow internet pioneers! I’m stoked to tell you about this groundbreaking plugin I’ve just cooked up. It’s called <a href="https://plugname.com/waitlist"><strong>PlugName</strong></a>, and it’s the first of its kind in the ChatGPT plugin universe.</p><p>Trust me when I say it’s going to change the game for all you dreamers and doers out there, looking to stake your claim on the world wide web.</p><p>As a developer diving into the world of ChatGPT plugins for the first time, I must say, it’s been a wild ride. But that’s what it’s all about, right? We’re all exploring and learning together, and today, I’m inviting you along for the journey as we discover this new and exciting frontier.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1023/1*95ihCHWhYUa3Rhv68SM9pQ.gif" /></figure><h3>Why PlugName? Let’s Get Real!</h3><p>I know how hard it is to find the perfect domain name for your next big idea. You want something catchy, memorable, and available. That’s why I built PlugName!</p><p>This plugin is a simple, yet powerful domain generator and availability checker that helps you find the best possible domain names for your project, without breaking a sweat.</p><h3>How Does It Work? Easy-Peasy!</h3><p>PlugName combines the capabilities of ChatGPT with your creative input. All you need to do is provide a few keywords that represent your project, and PlugName will generate a list of potential domain names that are sure to turn heads.</p><p>The plugin will even check the availability of those domain names in real-time, so you can snag the perfect one before anyone else does.</p><h3>The Journey: Embracing the Future of ChatGPT Plugins</h3><p>PlugName represents the first step in a long line of incredible ChatGPT plugins that are set to revolutionize how we interact with the digital world.</p><p>I’m thrilled to share this journey with you and be part of a community that values innovation and creativity. This is only the beginning, and I can’t wait to see what other ChatGPT plugins we’ll discover and build together.</p><h3>PlugName Plugin in action 💥</h3><p><strong>Step 1.</strong> Install the plugin (<a href="https://plugname.com/waitlist">sign up for access here</a>)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cerCRWJoWLwJutiNrmvYig.png" /><figcaption>Install plugin in ChatGPT interface</figcaption></figure><p><strong>Step 2.</strong> Tell ChatGPT what your want a domain for</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MdnjdZRHiDvGfDHQFD0FqA.png" /><figcaption>Just ask for what you want/need</figcaption></figure><p><strong>Step 3.</strong> Review the responses</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OBDPPvuX52Rvw0kuFLIokg.png" /><figcaption>Great responses from PlugName</figcaption></figure><p><strong>Step 4.</strong> Double check availability and purchase!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dk6oFJkeIo1UBq1yDtVMcg.png" /><figcaption>Checking domain.google.com</figcaption></figure><h3>Ready to Try PlugName? Let’s Go!</h3><p>If you’re as excited about PlugName as I am, it’s time to jump in and give it a try. Head over to the <a href="https://plugname.com/waitlist">PlugName plugin page</a> and start discovering your new domain name today!</p><p>Remember, we’re all in this together, exploring the endless possibilities of ChatGPT plugins. With PlugName, you’re not only finding the perfect domain name for your next big idea, but you’re also helping pave the way for the future of technology and communication.</p><p>So, what are you waiting for? Let’s conquer the digital world, one domain at a time!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1150444deda7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Don’t Write Code, Write Prompts: The Future of Programming through Higher Abstraction]]></title>
            <link>https://drbh.medium.com/dont-write-code-write-prompts-the-future-of-programming-through-higher-abstraction-d04a63753a77?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/d04a63753a77</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Thu, 30 Mar 2023 16:04:10 GMT</pubDate>
            <atom:updated>2023-03-30T16:04:10.806Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Child Posing Thoughtfully in a Minimalist Home Office, Surrounded by Technology and AI — Inspired Artwork, Working on an Article about Prompt Engineering, GPT — 4, and the Future of Programming, Abstraction in Focus, Back of head, Vibrant Colors, Geometric Patterns, Cozy Atmosphere, depth, 4k," src="https://cdn-images-1.medium.com/max/1024/1*FlkGII2Vg7gI7_hP-j9y_w.png" /></figure><h4>Introduction</h4><p>The ever-evolving landscape of software development has seen a steady progression towards abstraction.</p><p>The introduction of high-level programming languages, sophisticated frameworks, and powerful libraries has significantly improved the efficiency and productivity of software developers.</p><p>However, the dawn of prompt engineering has the potential to revolutionize the way we approach programming, pushing us to think at even higher levels of abstraction.</p><h4>The Power of Prompt Engineering</h4><p>Prompt engineering is a new paradigm in software development that allows programmers to build complex applications by creating and combining high-level prompts instead of writing traditional lines of code.</p><p>By leveraging the power of advanced artificial intelligence (AI) models like GPT-4, developers can now input prompts that the AI system translates into fully functional code blocks.</p><p>This shift in mindset encourages developers to focus on the big picture and create applications at a much faster pace.</p><h4>Building Blocks of Code</h4><p>As programmers embrace prompt engineering, their building blocks transform from individual computer instructions to large sections of code.</p><p>This level of abstraction enables them to construct complex systems by combining these code blocks, much like assembling a jigsaw puzzle.</p><p>As a result, the time spent on writing, debugging, and maintaining code significantly reduces, allowing developers to focus on more critical aspects of software development, such as designing better user experiences and innovating new solutions.</p><h4>The Next Level of Abstraction</h4><p>As technology continues to advance, the programming world is poised to move to an even higher level of abstraction. In the near future, we can expect AI-powered systems to understand human language and intent better, further simplifying the process of software development.</p><p>Programmers will be able to communicate their ideas and requirements to these AI systems, which will then autonomously generate the desired applications.</p><p>This shift will not only expedite the software development process but also lower the barriers to entry for aspiring developers.</p><p>With AI handling the complexities of coding, individuals from various backgrounds can contribute their unique perspectives and ideas to the world of software development without needing extensive programming knowledge.</p><h4>Conclusion</h4><p>Prompt engineering is more than just a new way of writing code; it represents a fundamental shift in the way we think about and approach software development.</p><p>By embracing this paradigm and harnessing the power of AI, we are paving the way for a more efficient, innovative, and inclusive future in programming.</p><p>As we continue to push the boundaries of abstraction, the possibilities for what we can create become limited only by our imagination.</p><figure><img alt="Limitless possibilities, software creation, programmer at center, expansive universe, abstract shapes, vibrant colors, expanding boundaries of abstraction, visual representation, illustration, 4k," src="https://cdn-images-1.medium.com/max/1024/1*3LU6_3ODupQvl2ZbwzfvOA.jpeg" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d04a63753a77" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to write g̶o̶o̶d no, great code]]></title>
            <link>https://drbh.medium.com/how-to-write-g%CC%B6o%CC%B6o%CC%B6d-no-great-code-d7829d6c72a0?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/d7829d6c72a0</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[beauty]]></category>
            <category><![CDATA[computer-science]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Wed, 08 Feb 2023 01:40:36 GMT</pubDate>
            <atom:updated>2023-02-08T01:40:36.228Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tANUuUu_Pb69Fymr3QQPFw.jpeg" /><figcaption>Live Oaks (A beautiful complex dynamic organism) — Wormsloe Historic Site, Savannah, GA, USA by Ryan Arnst</figcaption></figure><h4>A non-scientific, completely subjective opinion from some random dev online.</h4><p>🙄 who’s this guy think is is? What does he know about writing “great” code?!</p><p>You’d be 100% right for thinking that — and to be completely honest… I have much much more experience writing <strong>not </strong>great code.</p><p><strong>not </strong>great code gets written for many reasons (some listed below)</p><ol><li>its hard</li><li>“great” is subjective</li><li>software is never done (can’t “be” great, has to “stay” great)</li><li>quality can change based on current requirements</li><li>lots of functioning software isn’t great (bad role models)</li><li>people who want software are often not software engineers</li><li>…</li></ol><p>However, occasionally… in rare circumstances… either by extreme effort or pure luck, <strong>great</strong> code is born.</p><p>Despite my deep experience with suboptimal code — I have nearly a decade of experience asking computer (as kindly as possible) to do the things that I and other humans want.</p><p>Over this time I’ve come to appreciate various concepts and patterns, and also learning a deep mistrust for others.</p><p>In this article I’ll outline some of the good and bad’s of software — and provide supporting evidence from actual smart people.</p><p>Welcome to the ride</p><h3>What is “great”</h3><p>Lets start by defining what “great” is. However it might be easier to define by quickly stating what it is not.</p><p>Great code is</p><ol><li><strong>not </strong>hard to read</li><li><strong>not </strong>hard to reason about</li><li><strong>doesn’t </strong>cause you to hate yourself today or 7 days after writing it</li></ol><p>Great code is</p><ol><li>90% structure and 10% syntax</li><li>a function of information abstraction paired with predicted resource management</li><li>a friend of math (specifically set/category theory)</li><li>written for humans not hardware</li></ol><h3>Can you elaborate</h3><h4>1. 90% structure and 10% syntax</h4><p>All of theses ideas are inspired by much more comprehensive and deeper topics. Regarding structure we can look to the SOLID programming paradigm.</p><p>SOLID stands for a set of 5 “rules” that should be followed to build maintainable software. Concepts listed below</p><pre>S - Single-responsiblity Principle<br>O - Open-closed Principle<br>L - Liskov Substitution Principle<br>I - Interface Segregation Principle<br>D - Dependency Inversion Principle</pre><p>These principles were create by Robert C. Martin (aka Uncle Bob), and I cannot recommend diving headfirst into these concepts enough!</p><p>These principles revolve around the power of Object Oriented Programming (love it or hate it) and describes an elegant way to slice your abstractions into software friendly chunks.</p><p>By following these principles you can avoid many nasty complexities that arise in functional software.</p><p>For example, with SOLID principles you’ll reduce the footprint of your code and center files around common functionality; making it easier to navigate and add/remove features without affecting other parts of your codebase.</p><p>These issues are wholly avoided at the <strong>structure level</strong> of your application — rather than at the code level 💃</p><p><strong>Structure level cleanliness is a powerful way to enforce lasting organization.</strong></p><blockquote>Easy to digest article on SOLID by Digital Ocean: <a href="https://www.digitalocean.com/community/conceptual-articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design">here</a></blockquote><p>If that wasn’t enough — Uncle Bob has continues to drop bangers 🔥.</p><p>I would highly recommend his more recent book released in 2017 (and honestly everything more recent too).</p><p><strong>“Clean Architecture: A Craftsman’s Guide to Software Structure and Design” — </strong><a href="https://www.oreilly.com/library/view/clean-architecture-a/9780134494272/">https://www.oreilly.com/library/view/clean-architecture-a/9780134494272/</a></p><p>This book explores how you can extend these concepts to the <strong>system level</strong>.</p><p>As we move more applications into “the cloud” and leverage distributed services. These design principle have more and more impact on the <strong>greatness</strong> of your code.</p><p>great code is just a tool that fills the structure of your applications design, your system should be expressed via it’s structure not syntax.</p><h4>2. a function of information abstraction paired with predicted resource management</h4><p>um… what. You really lost me with that one. a function of whaa?</p><p>lets break it down.</p><p>“a function of information abstraction” is a concise way to express that our <strong>code is the output of our abstractions</strong>.</p><p>In other words — our code is a reflection of how we decided to slice up the concepts of our application.</p><p>More concretely; if we are faced with a problem and decide that we should create “Users” and “Sessions”, we’ve effectively sliced our problem into those abstract ideas of users and sessions.</p><p>…okay 👌 I think we got the “a function of information abstraction” covered.</p><p>Next we pair that with “predicted resource management” which is a fancy way to say that software engineers are tasked with being able to see into the future — and build systems that can withstand future changes 🔮</p><blockquote>If you didn’t know — its your fault as the programmer that you didn’t use the newest framework a year before it was created. How’d you not know!? (please read as sarcasm — I promise this isn’t personal).</blockquote><p>So, to summarize; the quality of our code isn’t always it’s computational complexity, number of lines, or elegant variable names.</p><p>It’s the ability to <strong>effectively slice</strong> your problem <strong>into abstract chunks</strong> that will <strong>withstand the unforeseeable changes</strong> of tomorrow.</p><p>Yes yes yes, I know; that doesn’t seem possible. Well it isn’t — and its our job as developer to manage the things we know, and the things we know we don’t know.</p><p>Its an exercise in risk assessment and cost planning — huh, didn’t know you signed up for that did you.</p><p>However, there’s hope!</p><p>By following <strong>trustworthy concepts </strong>(more to come shortly) we can harden ourselves and applications for a changing world.</p><p>Before we get into the really good stuff — we can acknowledge some “trust” worthy ideas here.</p><ul><li>Standards bodies (theres people who’ve thought deeply about it already — and they’d really appreciate if you make use of their great work. This especially applies to algorithms, security, cross platform and other really important things like QR codes).</li><li>Static and Strongly typed languages (honestly this isn’t really about the low level security issues you’ll avoid. It’s about the human centric nature of types. one, if you violate the type in your code the compiler will yell at you, and two, other devs will actually know what your code is doing).</li><li>Poetry (less about the words and more about the ability to communicate complex meaning with few symbols. Your code is poetry, albeit a very unimaginative audience but still it should read short and sweet).</li></ul><h4>3. a friend of math</h4><p>While you might not be — your code should be buddy buddy with math.</p><p>Yes, I know — math is boring and you’ve never used a derivative in real life.</p><p>But…. I promise — it can be super helpful. Its actually the most <strong>trustworthy</strong> tool we have.</p><p>It’s trustworthy because it has a long history of open source contributes and they’ve worked out most of the bugs in the core software. Now the devs (mathematicians) are busy figuring out crazy things like quantum physics.</p><p>We can trust the useful stuff like cryptographic to secure our bank accounts and communications. We can trust set theory to enforce [ADD FAVORITE PROGRAMMING LANGUAGE HERE]’s type system. We can even go as far to trust linear algebra to optimize our route on Google maps and ChatGPT to stay silly things.</p><p>It’s important to remember that behind all of the fancy UI and shiny screen — our computers are just that; compute-ers.</p><p>If you strip away all of the complexities you are left with the barebones of addition and subtraction.</p><p>Maybe, just maybe… theres a way we can bubble all of that power up to our own code.</p><p><strong>Let dive a bit deeper 🤿</strong></p><p>I’ll take a wild guess and assume that you (the reader) is familiar with Object Oriented Programming,</p><p>And… I’ll also go as far to guess that you’ve heard of Functional Programming — but decided that was something to learn about another day.</p><p>If you are in that camp, then you may not be aware of the beauty and elegance of programming languages that more closely follow semantics of traditional math.</p><p>We (normal people) are spoiled with the abstractions the mainstream languages provide. We expect to be able to create variables whenever we want, and construct complex control flows with a towers of if and else</p><p>We (normal people) should however, take note from our smarter functional programming counter part.</p><p>There are hidden superpowers in simple and constraining languages. They provide provable (<em>⚡️ powered by math</em>) methods to show that your code covers all cases, or that it can be broken into discrete pieces of work that can be spread across infinite machines.</p><p>Infinity and Proofs are difficult ideas for the average programmer but any mathematician eats them for breakfast.</p><p>For example one of these superhero in the video below, shows how modeling a system can provide ways to find step by step instruction to exploit incredible complex bugs without looking at a line actual code 🤯</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FFvNRlE4E9QQ%3Fstart%3D1308%26feature%3Doembed%26start%3D1308&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DFvNRlE4E9QQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FFvNRlE4E9QQ%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/0ca4bbc2571c71773a4e0805c830c106/href">https://medium.com/media/0ca4bbc2571c71773a4e0805c830c106/href</a></iframe><p>The secret lies in the power of formal math applied to system design.</p><p>If applied correctly (and no this does not require rewriting everything in a functional language), then you get all of the benefits of math for free.</p><p>These benefits include but are not limit to</p><ul><li>automatically generating test for every single possible way your program could be used</li><li>explore the implications of adding removing components or systems to your application</li><li>be 100% sure that code will work. You wanna be really sure that your airplane landing gear software works don’t you.</li><li>other more complex things that the speakers in these video can teach you about. Oh and if you’re really serious about learning this check out TLA+</li></ul><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FWELBnE33dpY%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DWELBnE33dpY&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FWELBnE33dpY%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/a21a158c81202cc8b61971d51ccaa5fd/href">https://medium.com/media/a21a158c81202cc8b61971d51ccaa5fd/href</a></iframe><p>In conclusion — maybe math isn’t bad after all.</p><p>Maybe we can use some of those amazingly boring concpets to make our code boringly amazing.</p><p>great code should aspire to have such concrete ideas that those same ideas hold true more than 1000 years from now</p><p>Pathagotem came up with some great software for triangles in ~570 BC…. thats like 1500 years ago!</p><p>Maybe we should learn from, or use math when possible — its the best way us humans know how to express long lasting abstractions.</p><h4>4. written for humans not hardware</h4><p>Okay enough on the math stuff. When we talk about software — as much as we try to avoid humans. They always come into the mix.</p><p>Lets talk about humans. How do humans fit in?</p><p>Well… they’re the ones who want the software in the first place, and actually they’re the ones who came up with these languages.</p><p>Furthermore they’re the ones who care about this whole thing — computers dont’ have opinions on the code they run.</p><p>People do. People define what is “working” and what isn’t.</p><p>So — I guess we should orient everything for the human right?</p><p>Yes! and that doesn’t just mean that we need pretty UI’s and ergonomic mobile apps.</p><p>We need to extend the humanity into the software development. We should <strong>feel </strong>this at many levels.</p><p><strong>Humanity should be in the developer experience at all levels. The following are some human centric questions.</strong></p><ul><li>People are onboarded to codebases. Does your documentation facilitate that?</li><li>How many tools/commands or special setup steps do I need to take?</li><li>What does it look like adding a new test? a new feature?</li><li>How many frameworks/languages does your project impose? Could it be less?</li><li>How much effort is to to go from completely new to fully in production?</li><li>What does breaking look like? and will I need to wake up to fix it?</li></ul><p>Outside of those questions — we need to think of the group dynamics. One good developer is kinda powerful.</p><p>But a small team of good devs is greater than the sum if it’s parts (when done correctly).</p><p>So how do we get <strong>great </strong>code out of a team?</p><p>Some solutions are easier than others. For example an easy but effective one is to standardize everything — remove all personality from indvidual contributions.</p><p>While that sounds harsh — a solid systems will have specific ways/types/patterns to do things. There should be very little customization and creativity inside the syntax of the code.</p><p>Why is this a good thing? It greatly eases the mental load on the developer. If theres a “way” to do something — then it should be done that “way”.</p><p>This effectively moves the solution from the code level into the structure level (mentioned ealier). Since we need to rely on system level decisions and patterns rather than bespoke ones.</p><p>More simply put, all devs should share common types. This removes customization and makes it much easier to integrate various devs work.</p><p>This idea should extend way further than types and as many concepts that can be effectively standardized at the system level the greater your code will be.</p><p>great code is so well written contributions from different team members is is often indistinguishable from other parts of the codebase. Additionally you shouldn&#39;t be able to see where one person started and another finished.</p><p>In the following video, strategies for building teams and increasing productivity as a system becomes more complex are explored in detail.</p><p>This is a fascinating topic since the ideas of complex system design are well outside of the scope of computers and touch upon natural phenomena like animal/plant biology, social interactions and planets.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FizLg4NkJQO4&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DizLg4NkJQO4&amp;image=http%3A%2F%2Fi.ytimg.com%2Fvi%2FizLg4NkJQO4%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/6ca7ab2f223fe40543d3442ea2654f8e/href">https://medium.com/media/6ca7ab2f223fe40543d3442ea2654f8e/href</a></iframe><p>Us mere mortal/developers hold a lot of power in our hands. We can construct massive piles of complex and useless s*** — and with those same hands can build our own complex dynamic systems not to different from the planet I’m writing this on.</p><p>Till next time, keep coding, spread love and peace out ✌️</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d7829d6c72a0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I ❤️ SPACS]]></title>
            <link>https://medium.com/aim-at-alpha/i-%EF%B8%8F-spacs-6cc5e3f0c67?source=rss-89213a5e3ef------2</link>
            <guid isPermaLink="false">https://medium.com/p/6cc5e3f0c67</guid>
            <category><![CDATA[trading]]></category>
            <category><![CDATA[money]]></category>
            <category><![CDATA[investing]]></category>
            <category><![CDATA[knowledge]]></category>
            <category><![CDATA[options-trading]]></category>
            <dc:creator><![CDATA[David (drbh) Holtz]]></dc:creator>
            <pubDate>Fri, 12 Feb 2021 07:01:25 GMT</pubDate>
            <atom:updated>2021-02-12T17:53:33.008Z</atom:updated>
            <content:encoded><![CDATA[<p>Yes, the title is controversial, which is great! I hope this article either changes your mind, or you drop some words to chance mine!</p><p>The SPAC market as well as many other speculative investment have been growing at unprecedented rates.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TBY1g96WgflY_bXW8X1elw.png" /></figure><h3>Why I like them</h3><h4>Pile of money — You’re buying money</h4><p>SPAC is an acronym for Special Purpose Acquisition Company. The name aptly describes what they do, they are companies that buy other companies. In reality they’re more of a fundraising effort rather than a company. SPACs are public companies that are classified as <em>Blank Check Companies</em> by the SEC and are very much just that; blank checks.</p><p>SPACs offer companies an alternative way to “go public”. Traditionally a private company that wants to go public would interact with a financial institution like a bank to create an IPO; initial public offering. The IPO process structures a deal that allow a company to issue shares and sell them to raise money. When IPO’ing a company will sell their shares to the underwriter, the underwriter will then sell those shares to the public.</p><p>The IPO process allows a company to raise money and based on the deal with the underwriters a company may be guaranteed to sell all of their shares.</p><p>However in order for the underwriter to go through all of the work/risk of buying and selling this companies shares, they need to believe that they’ll be profitable. Therefore IPO underwriters do extensive research into the business/industry and even secure capital before the IPO.</p><p>This process is comprehensive and arduous for both the company and underwriter. However it provides a trusted and relatively low risk way to raise capital.</p><p>Once the IPO is complete the company is publicly traded on a exchange. At this point the company has a ticker and is available for retail traders.</p><p>SPACs on the other hand are another way to raise capital but it’s a bit of a reverse process. Instead of the company being traded on an exchange after the IPO, the SPAC is traded on an exchange but is not an actual company; it’s just a blank check.</p><p>Essentially a person or group of people collect a large sum of money and go through the IPO process in order to be publicly traded. At this point the SPAC is nothing but a pile of money with management.</p><p>When a SPAC finishes the IPO process they generally begin trading at $10.</p><p>This $10 reflects a share of the money that the SPAC holds. You’re buying into a pile of money.</p><p>While it’s generally not advisable to pay $10 for a $10 share of someone else’s money, in this case you’re not just buying the money, you’re also buying into the management team of the pile.</p><p>These teams are trying extremely hard to make money. Not only do they want to make money, they have vested interest in making you money since your money in the same place. These management teams are great at making money and generally are made up of many very successful entrepreneurs and financiers.</p><h4>Potential — Unknowingness</h4><p>Aside from the financial wizardry, SPACs play to a very emotional side of the market. Since a SPAC’s intent is to buy another company the sheer potential has impossible to quantify value.</p><p>Humans are information seekers, we go out of our way to define the world around us with information. One thing that really bothers people is not knowing. Unknowingness has a lot of side effects. When we’re young the dark is scary, why? Because we don’t know, we can’t see what’s out there.</p><p>On the other side of unknowingness is potential. Another mystical force, the “could be” the “what if”. The unknowingness that leaves space of fear and mistrust of SPACs conversely also leaves space for imagination. It leaves space for non linear excitement and speculation.</p><p>They say buy the rumor and sell the news.<strong> SPACs are pure rumor creating material</strong>. Why not buy the rumors making material, wait for some rumors and see where you at then.</p><p>Companies have finite potential, they can’t make a trillion dollars next year — but an imaginary company can. Imaginations and rumors have no ceiling, therefore if you can buy into a SPAC really early and near their intrinsic value then raw potential works in your favor. Maybe you won’t even have to wait for them to merge to sell 😎</p><h4>Influencers — People care about people</h4><p>Next up, once you start to look at the world of SPACs in the 2020s you’ll immediately run into celebrities, oracles and influencers.</p><p>Since a SPACs future value is directly related to the management team, these individuals are very important. The decisions they choose will make or break the deal.</p><p>Sometimes these individuals get a lot of attention and embrace it. This shouldn’t seems strange in the modern world. Due to ubiquity of the internet and social networks we see more and more focus and idolization of individuals. It’s easier to be famous or gain a large following since communications become so fluid. This concept has become so commonplace we’ve even invented a new word; “influencer”.</p><p>SPAC managers are sometimes influencers too. This can play in it against your favor depending on the public’s response. However in the past year it’s becoming more and more apparent how much power and how quickly an influencers word will spread.</p><h4>Attractive to companies — Avoiding IPO process</h4><p>In terms of a way to raise money the SPAC is very attractive. It has the advantage of avoiding the traditional analysis done by an underwriter. A company only needs to convince a single SPAC management team.</p><p>SPACs are faster, some takes only a couple of months while IPOs can take years.</p><p>SPACs guarantee funds. Since the SPAC has already raised their funds via their IPO the company they acquire can receive the cash immediately and be sure the cash is readily available.</p><p>SPACs are much cheaper for the company.</p><p>Lastly SPACs allow the valuation to be determined by both the company and acquisition team which helps both parties agree on a price they find fair.</p><h4>Attractive to fund raisers — Large payouts in short time frames</h4><p>We haven’t got into the complexities of the deal but SPACs don’t only raise capital from their IPO, they often offer a PIPE which is Private Investment in Public Equities which allows private equity firms the ability to get in. In addition to the favorable deal for private equity the SPAC will sell warrants/units which are similar to options. Basically this smorgasbord of investment vehicles paired with the short time frame are attractive investments for larger investors.</p><p>The management team is also set to multiply their money if the deal completes successfully. This large payout is partly why SPACs are growing in popularity; they’re a great way for really wealthy investors to make a lot of money.</p><h4>Attractive to retail investors — Opportunity to grow money like venture cap</h4><p>Finally us normal people. SPACs offer the opportunity for retail trades to get into brand new companies. Buying into a company so early has the potential of large gains and growth a number of factors. Generally investments with this risk/reward profile are not available to the public.</p><p>Also as SPACs become more common, and have more success with larger and larger companies — it reenforces that this is a viable investment path. Over the past year we’ve seen incredible success stories around SPACs which make them more appealing to retail investors.</p><h3>How to trade them</h3><h4>Super in the money calls — moving your max loss point up for more leverage</h4><p>If you haven’t realized, it’s all about leverage. A SPAC alone is kinda leveraged since the risk profile generally offers much more upside potential than downside risk. This isn’t really something unique to SPACs but is a function of the age of a company and it’s potential to grow. There’s not much lower than the bottom, right?</p><p>However that’s not enough leverage for us! We want to lever each dollar. Luckily we have a well known way to do just that; the “Call Option”.</p><p>A call option allows us to buy control over shares in increments of 100. Calls are a contract that’s sold at a much lower price than the actual stock. The risk you run is if the stocks price closes below the calls strike price at expiration; your calls are worthless.</p><p>However we know that every SPAC share is intrinsically worth $10 because it is a share of a pile of money, so we can move our strike price up towards the $10 without increasing our risk linearly. While it may not be a hard bottom of $10, we can be more confident that the shares will not drop below $10 in the near future; due to the fact there’s actually cash behind the SPAC.</p><p>The higher a strike price the lower the cost is per contract. We can use this relationship to leverage our dollars.</p><p>Basically by moving the strike price up towards $10, we can spend less money avoiding risk, and use those dollars to buy more contracts. This should result in a very steep profit/loss slope compared to buying the shares outright.</p><p>Let’s look at some examples numbers to make it concrete.</p><p>Let’s say a new SPAC just IPO’d and is trading at exactly $10.</p><p>Let’s say we have $5,000 to invest and we want to maximize our potential profit.</p><p>Let’s also say that Calls with a $10 strike that expire in 180 days is trading at $1 (which applies to 100 shares so actually cost $100).</p><p>We can either buy the shares our right using our cash, or we can buy the calls.</p><p>$5000 / $10 a share = 500 shares</p><p>$5000 / ( $1 per contract * 100 shares ) = 50 contracts = 5000 shares</p><p>Above we can see how using the same amount of money we can buy control over 10 times more shares. The leverage also comes at a cost, we now need the price to stay above $10 to not lose our total investment, and we need it to be above $11 (our breakeven) in order to make any money.</p><p>However, based on our assumptions that we will not go lower than $10 and that we’ll have speculation/news push the price up we are confident we’ll be above the $11 mark by the time our contracts expire.</p><p>Let’s look at the profit and loss chart comparing the two investments.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vlBALWwR5N8IziMB_AX5Ww.png" /></figure><p>Above we can see the blue shares line, and the much steeper green call line. As the price increases on, we can see how much faster the calls P/L grows compared to buying shares.</p><p>Looking at the $15 mark, we can see that buying shares would result in a $2,500 gain, where buying calls would be $20,000 at $15.</p><p>Using this method we can leverage our money in multiple ways. We get the contract leverage along with the already speculative SPAC. Which seems incredibly risky at first — but when reviewing the structure of the deal and the pile of cash we see that we can actually lower our risk.</p><p>By no means is this a safe investment, but it’s a way to play this already speculative investment. Don’t invest in a SPAC unless you’re willing to lose your total investment. However if you are willing — why not maximize your returns?</p><p>Okay I’d be lying if that was the only way to maximize your potential return, there are more complex strategies that will actually return more money with the same price movement we used in the example above.</p><p>Let’s look at a 3 contract ratio strategy called the Long Call Butterfly (at least thats what I call it)</p><h4>Long call butterfly — for those really aggressive traders</h4><p>So buying in the money calls isn’t enough. Yea you can buy some out of the money calls and really take some risk — but let’s look at something that has a similar risk profile as above — but we leverage our money more.</p><p>The main idea here is that we’ll trade off some potential large swing upside for a steeper slope at prices much closer to the current price.</p><p>Basically we might be assuming that the price will rise above $10 but we may be less confident that the price will move past $20 in the short term. In addition to knowing that huge price moves are unlikely — we also know that we have to go $10–$19 before we get to $20, so if we are attentively watching our trades we can exit before our trade off work against us.</p><p>Using this logic we’ll construct a trade that maximizes profit at $15. We do this by buying those $10 calls but instead of only buying calls we also sell calls to help fund buying more $10 calls. Last we’ll buy a $20 call to protect us from the downside of the calls we sold.</p><p>Let’s make it concrete with some prices and a profit and loss chat.</p><p>First we want to use our $5000 to buy as many calls as possible.</p><p>Lets say we have calls priced</p><p>$10 strike at $1</p><p>$15 strike at $0.5</p><p>$20 strike at $0.25</p><p>Using those prices we can construct a triangle that cost about $5000 for 200 contracts. Remember above we paid $5000 for 50 contracts, so here we’re getting the opportunity to buy 4 times more contracts for the same amount of money, but limit our far out upside potential.</p><p>By increasing our contracts by so much we’ve also increased out max potential gain by a massive amount. We can 19X our initial $5000 if the contract expires and the price is $15. That means we have the potential of $95,000 profit compared to the $2500 from buying shares if the price moves from $10 to $15 📈</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1003/1*dWUyI5NLlIFgPiuaSuXZNg.png" /></figure><p>It’s pretty crazy how much we can leverage out dollars if we’re willing to take the risk and know how to construct orders that give us leveraged returns for realistic SPAC price movements.</p><p>Of course the examples above assume you have the opportunity to buy a SPAC at a price very close to intrinsic value and that your trades all get filled when you want them too. Real world trading is much more dynamic and will not always allow you to construct trades you find worthwhile.</p><p>Also none of this investment advice! This article is solely my opinion on SPACs and more specifically option trading on SPACs. SPACs are known as risky investments. Options are also very risky and should not be attempted by uninformed individuals.</p><p>However I do hope you found this article informative and sparked you to think about SPACs and Options in new ways!</p><pre>The above references an opinion and is for information purposes only. It is not intended to be investment advice. Seek a duly licensed professional for investment advice.</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6cc5e3f0c67" width="1" height="1" alt=""><hr><p><a href="https://medium.com/aim-at-alpha/i-%EF%B8%8F-spacs-6cc5e3f0c67">I ❤️ SPACS</a> was originally published in <a href="https://medium.com/aim-at-alpha">Aim at Alpha</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>