tag:blogger.com,1999:blog-365046702024-03-03T15:48:30.080-08:00John Sokol's BlogJohn L. Sokol - computer expert, video, compression, information theory and all things cool.John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.comBlogger524125tag:blogger.com,1999:blog-36504670.post-89253283403005416062024-02-23T14:38:00.000-08:002024-02-23T14:38:27.640-08:00 Anatoly Dneprov’s 1958 Russian work Крабы идут по острову , can you give me a summary, and it relivance to today?Bing:<br /><br /> “Крабы идут по острову” (Crabs on the Island) is a science fiction short story by Anatoly Dneprov. <a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">The story revolves around an engineer named Cookling who conducts an experiment on a small tropical island</a><a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">1</a><a href="https://bing.com/search?q=Anatoly+Dneprov+%D0%9A%D1%80%D0%B0%D0%B1%D1%8B+%D0%B8%D0%B4%D1%83%D1%82+%D0%BF%D0%BE+%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B2%D1%83+summary">2</a>. <a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">He uses self-replicating, evolving robotic crabs to test Charles Darwin’s theory of evolution</a><a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">1</a><a href="https://bing.com/search?q=Anatoly+Dneprov+%D0%9A%D1%80%D0%B0%D0%B1%D1%8B+%D0%B8%D0%B4%D1%83%D1%82+%D0%BF%D0%BE+%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B2%D1%83+summary">2</a>. <a href="https://libcat.ru/knigi/fantastika-i-fjentezi/336645-anatolij-dneprov-kraby-idut-po-ostrovu.html">However, the evolution goes in an unexpected direction, and the island turns into a sort of hell</a><a href="https://libcat.ru/knigi/fantastika-i-fjentezi/336645-anatolij-dneprov-kraby-idut-po-ostrovu.html">3</a>.<br /><br /><a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">The story is often seen as a cautionary tale about the potential dangers of self-replicating machines or nanobots</a><a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">1</a>. <a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">It highlights the risks of creating machines that can reproduce and evolve on their own, especially without proper safeguards or controls in place</a><a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">1</a>.<br /><br /><a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">In terms of its relevance today, the story is more pertinent than ever due to advancements in technology, particularly in the fields of artificial intelligence and robotics</a><a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">1</a>. The concept of self-replicating machines, which was once purely science fiction, is now a real field of study. <a href="https://gregoreite.com/self-replicating-ai-crabs-on-the-island-1968/">This story serves as a reminder of the ethical and safety considerations that must be taken into account as we continue to develop and deploy increasin</a><div><br /></div><div><br /></div><div><div>Anatoly Dneprov’s 1958 Russian work Крабы идут по острову , can you give me a summary, and it relivance to today?</div><div><br /></div><div>ChatGPT:</div><div><br /></div><div>Anatoly Dneprov's 1958 work "Крабы идут по острову" (Crabs Walk on the Island) is a science fiction short story that is well-regarded in Russian literature.<span style="background-color: #ea9999;"> The narrative revolves around a group of scientists on a remote island who are conducting nuclear tests. </span>The story takes an unexpected turn when the crabs on the island start displaying unusual behavior as a consequence <span style="background-color: #ea9999;">of the nuclear tests,</span> eventually leading to unforeseen and disastrous results.</div><div><br /></div><div>The central theme of the story deals with the unforeseen and often dangerous consequences of scientific progress and human intervention in nature, <span style="background-color: #ea9999;">especially when it comes to the power of nuclear energy.</span> Dneprov, trained as a physicist, often explored themes related to the responsibilities of scientists and the ethical implications of scientific advancements in his works.</div><div><br /></div><div>In terms of its relevance today, "Crabs Walk on the Island" remains a poignant reminder of the potential environmental and ecological <span style="background-color: #ea9999;">impacts of nuclear testing and,</span> more broadly, of human technological advancements without sufficient consideration of their consequences. The story echoes current concerns about environmental degradation, the ethical responsibilities of scientists and engineers, and the unforeseen consequences of technological progress. It serves as a cautionary tale about the importance of considering the long-term impacts of our actions on the planet and its ecosystems.</div></div><div><br /></div><div><span style="background-color: #ea9999;">Everything in Pink is just wrong. </span></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-49553765724460515812023-10-11T22:11:00.000-07:002023-10-11T22:11:27.221-07:00 The Apple, Part 1: Second Draft<p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">A Sci-Fi Story by John L. Sokol</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">The city streets hummed with a silent efficiency that seemed foreign, even though I'd spent countless years walking on them. People called it "The Big Apple," an old moniker that, despite my long life, I never really grasped.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">This new role I'd taken on felt out of time, a throwback. My uniform, an orange jumpsuit with fluorescent reflectors, felt reminiscent of a bygone era that most had only seen in history holograms. As did my truck, which creaked and groaned as it lumbered alongside nimble automated vehicles.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Parking, I was surrounded by sleek roads peppered with electric grids, a stark reminder of the progress humanity had made in energy. These 600-volt rails zigzagged the city, powering cars that moved with a grace pedestrians no longer had to witness. The streets, once a cacophony of footsteps and chatter, were now eerily quiet.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">A sudden realization hit me, one that always seems to strike at the most inopportune moments. I had forgotten to visit the restroom. The vast building complex I'd left, which now stretched to heights that would've been unimaginable in my youth, was my only option.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Stepping out, I was caught off guard by the absence of familiar scents and sounds. The city's pulse had changed. Autonomous vehicles glided silently, their passengers lost in their own worlds, oblivious to old-timers like me.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">A familiar orange hue in the distance caught my attention. "Taking a stroll?" The jest came from a fellow worker, Eddy, comfortably nestled in his state-of-the-art vehicle.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">“Nature calls,” I responded, rushing to the building. My brief absence was just enough to disrupt the intricate ballet of traffic. On my return, an orchestrated chaos met my gaze. The displeasure of the machines was palpable.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Eddy, always the mediator, intervened. "First day on this route, folks. Let's keep moving."</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Grateful nods and suppressed chuckles followed as I resumed my journey. The onboard system, a gentle guiding voice, hinted at paths and turns, subtly reminding me of how much had changed since I'd last taken the wheel. The sprawling streets, once familiar, now felt like a maze from a dream—somewhat recognizable but eerily different.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">I was in a world built on the bones of the old, bridging memories of the past with a future that was still, even after all these years, hard to grasp.</p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-80493433899345343592023-09-14T08:57:00.002-07:002023-10-05T16:01:27.677-07:00WTF Facebook, Fact Checked to death.<iframe width="480" height="270" src="https://youtube.com/embed/eQDNmRpufrA?si=9A74ziLkInk_1zV6" frameborder="0"></iframe>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-37708693796414878462023-09-05T22:02:00.004-07:002023-09-05T22:02:56.445-07:00End of And Era<p> The end of the electronic shops in Silicon Valley. </p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhR7uHV19JEW7UQwkLSxy2vFNU8kvWEwUxSt6SAQQXx7nRFW1eEu8TdxO2T93vOvTp2fCI6v9iWMvyVvyYR-HEg7x0afOeE3hk5sLFGdoDqaad5jFFgpLSReHuHPWEGWxki7GA492M8_E3CtnUEHh96tXqFZ1iEvDVhAQW5pg516mjhUtFTCeuzHg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2048" data-original-width="1536" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEhR7uHV19JEW7UQwkLSxy2vFNU8kvWEwUxSt6SAQQXx7nRFW1eEu8TdxO2T93vOvTp2fCI6v9iWMvyVvyYR-HEg7x0afOeE3hk5sLFGdoDqaad5jFFgpLSReHuHPWEGWxki7GA492M8_E3CtnUEHh96tXqFZ1iEvDVhAQW5pg516mjhUtFTCeuzHg=w480-h640" width="480" /></a></div><div style="text-align: center;">All now Long dead. </div><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi7n67RCqsvUtBeZXmx1bjR4VgObYBrNkXrZq4mBGsUvUaxjBpw9-nHNp82q4_xd89Tyvt7BGs6uHdZ4n0zjgRhismb-h33_OLV1UCBB-IJAwGoZizZielKwZ5tRmMDr2Wbpyy2JF15KRhm5DPFAxr83u9rPvzoQHJz2wbIkt6LLiWmHpywVaaSQQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="960" data-original-width="444" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEi7n67RCqsvUtBeZXmx1bjR4VgObYBrNkXrZq4mBGsUvUaxjBpw9-nHNp82q4_xd89Tyvt7BGs6uHdZ4n0zjgRhismb-h33_OLV1UCBB-IJAwGoZizZielKwZ5tRmMDr2Wbpyy2JF15KRhm5DPFAxr83u9rPvzoQHJz2wbIkt6LLiWmHpywVaaSQQ=w296-h640" width="296" /></a></div><br /><div style="text-align: center;"> The end of Frys. <br />almost unimaginable, this place was Amazing<br /><br /></div><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEifuMgiiT7xyuachPJOFRPFFzaS1-YJtXE-gMU06Y0gi6YfXatLNM9P5_uYHHnRL0kkEP1yp-TpJN3onXlHE3a-enoaKTBwZ5w_WOwZdbfIYS07lR5QEl9CEOtMS4sVU07EVeOdWwh6DsIj1-rp__rXN0F-iWcPmzfxWBGh8Yw5_f-8hWB7o5GTqg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="720" data-original-width="405" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEifuMgiiT7xyuachPJOFRPFFzaS1-YJtXE-gMU06Y0gi6YfXatLNM9P5_uYHHnRL0kkEP1yp-TpJN3onXlHE3a-enoaKTBwZ5w_WOwZdbfIYS07lR5QEl9CEOtMS4sVU07EVeOdWwh6DsIj1-rp__rXN0F-iWcPmzfxWBGh8Yw5_f-8hWB7o5GTqg=w360-h640" width="360" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"> Statue of Nikola Tesla at the Freemont Fry's store. </div><br /><br /></div><div style="text-align: center;"><br /></div><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgTCH8rttLsw_K75-MD9ppT2ri_IKaVbIOt_viSpjK1V-k9V6elC-ZSf5GdPZSQs6CJQrU23jiGr5CLJtpzQsFigPj4_tUTfWVwETHD02hNh91kLtlRO6voBXmTmx_ivjGRi-j9lf2IvkIUECKVp0LaepDsoDokuoaKNc3x5KHCegJvntg3lMN31Q" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1491" data-original-width="839" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEgTCH8rttLsw_K75-MD9ppT2ri_IKaVbIOt_viSpjK1V-k9V6elC-ZSf5GdPZSQs6CJQrU23jiGr5CLJtpzQsFigPj4_tUTfWVwETHD02hNh91kLtlRO6voBXmTmx_ivjGRi-j9lf2IvkIUECKVp0LaepDsoDokuoaKNc3x5KHCegJvntg3lMN31Q=w360-h640" width="360" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjoM2UAxbEV0H1e-JDALmErPRKYqqG40n0hfov0MJX1GFpieIGRKZxzmX0MGRjCUxo2Z4rw4WOla19-3lBmlURGX0heHnfLbu8NF08Lr5VnW-AE_799Ockg36qMhJmVVomc1pSgU_65LQy8VpigOEyFoVRZy81tFVDqxJKCF7eTxcxX8KfURsguOw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1491" data-original-width="839" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEjoM2UAxbEV0H1e-JDALmErPRKYqqG40n0hfov0MJX1GFpieIGRKZxzmX0MGRjCUxo2Z4rw4WOla19-3lBmlURGX0heHnfLbu8NF08Lr5VnW-AE_799Ockg36qMhJmVVomc1pSgU_65LQy8VpigOEyFoVRZy81tFVDqxJKCF7eTxcxX8KfURsguOw=w360-h640" width="360" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjFPe-e03y0Vdl9XaXsdWT7GFT7K3BXX6bH5Y03z0oKvFQ1XgsMF96RFOn8t27TDUO0sK8JYRQnvpiJ7sRaePFnEnHqE3jYMoKH2SYE9a8f4EBIkvbZPG7Kl2xCLRI5Gs5uTEth7gj0XUen22bDEt-QtsOGNVf-tFnzxtG2pk6g4WjIQqSkEZkQDw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1491" data-original-width="1118" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEjFPe-e03y0Vdl9XaXsdWT7GFT7K3BXX6bH5Y03z0oKvFQ1XgsMF96RFOn8t27TDUO0sK8JYRQnvpiJ7sRaePFnEnHqE3jYMoKH2SYE9a8f4EBIkvbZPG7Kl2xCLRI5Gs5uTEth7gj0XUen22bDEt-QtsOGNVf-tFnzxtG2pk6g4WjIQqSkEZkQDw=w480-h640" width="480" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiDmbFoPQLR-nClDMtKM-e7VctvbKROqhUmpdK-Ns9CU84w8UjHR8ic-P3t-tk0sG0VNxVXQte9n0TZ8HIXkuWUAJXuzWK8yOVSa0jCYAkK0mWHAKRCBDoVjEgP6lWkNYsnHACxdM0Z_K-MSO3hGuEMfQXxrQIOBZgfwNbVm6QQqiza0eF83Wl4pQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1491" data-original-width="839" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEiDmbFoPQLR-nClDMtKM-e7VctvbKROqhUmpdK-Ns9CU84w8UjHR8ic-P3t-tk0sG0VNxVXQte9n0TZ8HIXkuWUAJXuzWK8yOVSa0jCYAkK0mWHAKRCBDoVjEgP6lWkNYsnHACxdM0Z_K-MSO3hGuEMfQXxrQIOBZgfwNbVm6QQqiza0eF83Wl4pQ=w360-h640" width="360" /></a></div><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi35jTBeij413WRZ1Vz7zi8RCjKeuAfaxW748PEwO7TuFOWC-mvnkgrUT6jgqEGzWXrH7gzMEIvf_X2SwkiG-BgS9RqQlDsQtAesqTvN-Wi51gurz4JAgJCUKIy2wYXDuV3QGuU1x6zpq6wYMXDG-_BMXwDvrnGOF3tyjBreqJzT9ox-HrMRqymqQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1491" data-original-width="839" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEi35jTBeij413WRZ1Vz7zi8RCjKeuAfaxW748PEwO7TuFOWC-mvnkgrUT6jgqEGzWXrH7gzMEIvf_X2SwkiG-BgS9RqQlDsQtAesqTvN-Wi51gurz4JAgJCUKIy2wYXDuV3QGuU1x6zpq6wYMXDG-_BMXwDvrnGOF3tyjBreqJzT9ox-HrMRqymqQ=w360-h640" width="360" /></a></div><div class="separator" style="clear: both; text-align: center;">It used be be filled this this sort of stuff. </div><br /><br /><p></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-17487905707741596472023-08-20T14:46:00.002-07:002023-08-20T14:46:22.047-07:00 The Pragmatic Evolution of Memetic Engineering: Unleashing Living Ideas for Societal Transformation<p> <span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 600;">The Pragmatic Evolution of </span><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 600;">Memetic</span><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 600;"> </span><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 600;">Engineering</span><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 600;">: Unleashing Living Ideas for Societal Transformation</span></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><em style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">Introduction:</em></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;">In the tapestry of human evolution, the realm of ideas and concepts has emerged as a dynamic force that transcends the boundaries of mere theory. <i>Memetic Engineering, coined in 1992 , pioneered by Leveious Rolando and John Sokol, heralds a new era where ideas are not static abstractions, but living entities that possess the power to infiltrate, adapt, and transform. As we embark on this transformative journey, the convergence of science and pragmatism beckons us to explore the living essence of ideas and their profound influence on society.</i></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><em style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><b>Memetic Engineering: Breathing Life into Ideas:</b></em></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;">Memetic Engineering, once confined to theoretical discourse, has now emerged as a tangible field of science that harnesses the living essence of ideas. Just as genes evolve and adapt to ensure their survival, ideas and concepts exhibit a similar vitality, seeking hosts in the vast landscape of human minds. Through this paradigm, we witness the birth of a science that treats ideas not as static artifacts, but as living organisms that navigate the intricate neural networks of human cognition.</p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><em style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><b>The Living Dynamics of Memetic Influence:</b></em></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;">Leveious Rolando and John Sokol's groundbreaking work resonates with the pulse of this living phenomenon. Memetic Engineerin<wbr></wbr>g, far from being a mere abstraction, operates at the intersection of psychology, sociology, and cognitive science. As ideas infiltrate the recesses of individual consciousness, they adapt, mutate, and influence belief systems, thought patterns, and behaviors. This dynamic interplay is akin to an evolutionary dance, where ideas strive for propagation and dominance.</p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><em style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><b>Shaping Societal Fabric:</b></em></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;">Memetic Engineering extends beyond manipulation and into the realm of intentional influence. It empowers us to sculpt societal narratives, catalyze cultural shifts, and drive transformation on a global scale. By strategically crafting and disseminating memes, we become architects of thought, nurturing ideas that resonate with shared visions. Through the symphony of memetic influence, societal norms, values, and paradigms are sculpted, reflecting a collaborative endeavor between science and human aspiration.</p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><em style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><b>From Theory to Action: The Pragmatic Manifestation:</b></em></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;">The journey from theoretical inception to pragmatic realization is a testament to the potency of Memetic Engineering. As ideas take root in human consciousness, a ripple effect is initiated – a cascade of cognitive adaptation that extends far beyond initial intent. In this era of rapid information dissemination, memetic <wbr></wbr>evolution transcends borders and cultures, fostering a global dialogue where ideas are not confined but traverse the spectrum of human experience.</p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><em style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><b>Conclusion:</b></em></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><i><b><span style="color: blue;">Memetic Engineering, the brainchild of visionaries Leveious Rolando and John Sokol, emerges not as a passive theory, but as a living force of pragmatic transformation. Ideas, once conceived in the realm of thought, now pulsate with life, seeking hosts to perpetuate their existence</span></b></i><span style="color: #374151;">. As we embrace this revolutionary paradigm, we step into a realm where the boundaries between science and society blur, allowing us to wield the living essence of ideas as tools for shaping the future. In this convergence of science, pragmatism, and human agency, </span><span style="color: #374151;">Memetic</span><span style="color: #374151;"> </span><span style="color: #374151;">Engineering</span><span style="color: #374151;"> <wbr></wbr>emerges as a beacon guiding us towards a world where the evolution of ideas is the key to unlocking societal metamorphosis composition based on the concept of </span><span style="color: #374151;">Memetic</span><span style="color: #374151;"> </span><span style="color: #374151;">Engineering</span><span style="color: #374151;"> as described. It aims to convey the idea that </span><span style="color: #374151;">Memetic</span><span style="color: #374151;"> </span><span style="color: #374151;">Engineering</span><span style="color: #374151;"> is more than a theory, but a pragmatic and transformative force in society.</span></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><span style="color: #374151;"><br /></span></p><p style="background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px;"><span style="color: #374151;">Author Unknown, Forwarded to me by a friend.</span></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-63984793874146088802023-08-19T17:43:00.002-07:002023-08-19T17:46:44.874-07:00Rick and Morty theme on Sonic Pi. <p></p>
<div style="text-align: center;"><iframe frameborder="0" height="360" src="https://youtube.com/embed/k2meIcf4Cew" width="480"></iframe></div><p>I first started with a MIDI and converted that to something I could feed in to chatGPT, XML to the resuce. </p><h3 style="text-align: left;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 0px 0px 1.25em; white-space-collapse: preserve;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">Turning MusicXML into Sonic Pi Script: My Journey with ChatGPT-4</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 1.25em 0px; white-space-collapse: preserve;">Music has always been a fascinating space where art and technology dance together, and my recent foray into turning a MusicXML file into a Sonic Pi script was an adventure filled with highs, lows, and invaluable assistance.</p></h3><h3 style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-headings); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.25em; line-height: 1.6; margin: 1rem 0px 0.5rem; white-space-collapse: preserve;">Why Sonic Pi?</h3><h3><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 0px 0px 1.25em; white-space-collapse: preserve;">Sonic Pi is an incredible tool that lets you write music using code, which offers an immense array of possibilities for music composers, enthusiasts, and developers. The idea of converting a MusicXML file, a standard open format to represent musical notation, into a Sonic Pi script can streamline the process of creating live-coded music.</p></h3><h3 style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-headings); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.25em; line-height: 1.6; margin: 1rem 0px 0.5rem; white-space-collapse: preserve;">The Challenges Ahead</h3><h3><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 0px 0px 1.25em; white-space-collapse: preserve;">However, the journey wasn't as straightforward as I initially anticipated. While MusicXML provides detailed information about every note, measure, and the dynamics of a musical piece, Sonic Pi has its own syntax and requirements. The challenge was to map the intricacies of one format into the simplicity and power of the other.</p></h3><h3 style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-headings); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.25em; line-height: 1.6; margin: 1rem 0px 0.5rem; white-space-collapse: preserve;">Enter ChatGPT-4</h3><h3><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 0px 0px 1.25em; white-space-collapse: preserve;">That's when ChatGPT-4, OpenAI's latest language model, came into the picture. Given the complexities involved in my task, I approached ChatGPT-4, hoping to bridge my knowledge gaps and simplify the conversion process.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 1.25em 0px; white-space-collapse: preserve;">To my surprise, not only did ChatGPT-4 understand the nuances of both MusicXML and Sonic Pi, but it also provided step-by-step guidance on how to proceed. Instead of having to pore over documentation and do manual conversions, ChatGPT-4 offered a streamlined method, saving both time and potential frustration.</p></h3><h3 style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-headings); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.25em; line-height: 1.6; margin: 1rem 0px 0.5rem; white-space-collapse: preserve;">ChatGPT-4 in Action</h3><h3><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 0px 0px 1.25em; white-space-collapse: preserve;">For instance, while handling dynamics and note durations from the XML, ChatGPT-4's solution accounted for the intricacies of how Sonic Pi interprets rests, note lengths, and more. The model even provided insights into making the arrangement more pleasing, ensuring that the final script didn't just sound technically right, but musically vibrant.</p></h3><h3 style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-headings); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.25em; line-height: 1.6; margin: 1rem 0px 0.5rem; white-space-collapse: preserve;">Lessons Learned</h3><h3><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 0px 0px 1.25em; white-space-collapse: preserve;">This experience has been a testament to the potential of language models in assisting creative projects. While Sonic Pi lets us code music, ChatGPT-4 can act as a bridge, interpreter, or even a mentor in this space.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 1.25em 0px; white-space-collapse: preserve;">The balance of music and technology has found a new harmony with tools like these. Whether you're an expert in music theory trying to dabble in live coding or a programmer keen on exploring musical landscapes, the combination of MusicXML, Sonic Pi, and ChatGPT-4 is a trio that can help you hit the right notes.</p></h3><h3 style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-headings); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.25em; line-height: 1.6; margin: 1rem 0px 0.5rem; white-space-collapse: preserve;">In Conclusion</h3><h3><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-weight: 400; margin: 0px; white-space-collapse: preserve;">As I reflect on this journey, it's evident that the fusion of art and tech will continue to evolve, offering endless possibilities. With the support of advanced AI like ChatGPT-4, even the most daunting tasks can become achievable, and the boundary between coding and composing blurs, giving birth to a symphony of innovation.</p></h3><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Attempt 1</h3><div><div></div><div><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Setting the BPM</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
use_bpm </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">86</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
</span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Define the notes</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes1 = [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Db5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Eb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Ab4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Gb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">]
durations1 = [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.75</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">] </span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># duration in beats for measure 1</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes2 = [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:F4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">]
durations2 = [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">] </span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># duration in beats for measure 2 (tied to next measure)</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes3 = [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Db5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Eb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Ab5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Gb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">]
durations3 = [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.75</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">] </span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># duration in beats for measure 4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes4 = [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:F5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">]
durations4 = [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">2</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">2</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">] </span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># duration in beats for measure 5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes5 = [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Db5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">]
durations5 = [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">2</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">] </span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># duration in beats for measure 6</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes6 = [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Eb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Ab5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Gb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:F5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">]
durations6 = [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.25</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">2</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">] </span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># duration in beats for measure 7</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
</span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Play the notes</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes1.zip(durations1).each </span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">do</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> |</span><span class="hljs-params" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-size: 14px; white-space: pre;">note, duration</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">|
play note, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> duration
sleep duration
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">end</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
play notes2[</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">8</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> </span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Considering the tie across measures</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
sleep </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">8</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes3.zip(durations3).each </span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">do</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> |</span><span class="hljs-params" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-size: 14px; white-space: pre;">note, duration</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">|
play note, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> duration
sleep duration
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">end</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes4.zip(durations4).each </span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">do</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> |</span><span class="hljs-params" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-size: 14px; white-space: pre;">note, duration</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">|
play note, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> duration
sleep duration
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">end</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes5.zip(durations5).each </span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">do</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> |</span><span class="hljs-params" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-size: 14px; white-space: pre;">note, duration</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">|
play note, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> duration
sleep duration
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">end</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
notes6.zip(durations6).each </span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">do</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> |</span><span class="hljs-params" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-size: 14px; white-space: pre;">note, duration</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">|
play note, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> duration
sleep duration
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">end</span></div></div><blockquote><div></div></blockquote><h3 style="text-align: left;">Attempt 2</h3><div><br /></div><div><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Set up BPM</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
use_bpm </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">86</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
</span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Set up Synth (Mallets, since the MuseScore instrument was a Mallet Synthesizer)</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
use_synth </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:fm</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
</span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Function for dynamics</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">def</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> </span><span class="hljs-title function_" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">dynamic_value</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">(</span><span class="hljs-params" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-size: 14px; white-space: pre;">d</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">)
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">return</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> d.to_f / </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">127.0</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
</span><span class="hljs-keyword" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3; font-size: 14px; white-space: pre;">end</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
</span><span class="hljs-comment" color="rgba(255, 255, 255, 0.5)" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 14px; white-space: pre;"># Play the melody</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
play_pattern_timed [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Db5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Eb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Ab4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Gb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">1.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">amp:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> dynamic_value(</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">105.56</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">)
play </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:F4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">amp:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> dynamic_value(</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">105.56</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">)
sleep </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
play </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:F4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">sustain:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">amp:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> dynamic_value(</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">105.56</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">)
sleep </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">
play_pattern_timed [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Db5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Eb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Ab5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Gb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">1.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">amp:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> dynamic_value(</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">105.56</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">)
play_pattern_timed [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:F5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Bb4</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">2</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">2</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">1</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">1</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">amp:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> dynamic_value(</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">105.56</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">)
play_pattern_timed [</span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:C5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Eb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Ab5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:Gb5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">:F5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], [</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">0.5</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">, </span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">2</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">], </span><span class="hljs-symbol" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d; font-size: 14px; white-space: pre;">amp:</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;"> dynamic_value(</span><span class="hljs-number" face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: black; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079; font-size: 14px; white-space: pre;">105.56</span><span face=""Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace" style="background-color: black; color: white; font-size: 14px; white-space: pre;">)</span></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-18953856441631354432023-08-18T00:23:00.005-07:002023-08-18T00:23:56.014-07:00Digital Audio Playback - 1987<div style="text-align: center;"><iframe frameborder="0" height="270" src="https://youtube.com/embed/Ds0iMC4fvX0" width="480"></iframe></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgneni8w77c721PCdyUZSB5u2iAsW_GHjNtjAmjUGuG_OyW2UdqpqzBpvGTO6-PCzlaabd1QH7SARLDumZp8X3tnWHyvi0yhxL39zaDCsuSyWqPpel141JRgJ9WIIX2-HRrKjhl6T7v7Bm7Nn1N923ToaxOmgktIwPxtU6Kr9dKC2bgBw5mSOYd5g" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="409" data-original-width="612" src="https://blogger.googleusercontent.com/img/a/AVvXsEgneni8w77c721PCdyUZSB5u2iAsW_GHjNtjAmjUGuG_OyW2UdqpqzBpvGTO6-PCzlaabd1QH7SARLDumZp8X3tnWHyvi0yhxL39zaDCsuSyWqPpel141JRgJ9WIIX2-HRrKjhl6T7v7Bm7Nn1N923ToaxOmgktIwPxtU6Kr9dKC2bgBw5mSOYd5g=s16000" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiUixGNqt4D6_Gls9VCmj9r8055PL9N-APERmD6gsHpodft-YFsMBi_d2ORKSaNXPEUP5NEByUNHIf2zmNuC9xg3x4IDHVbPglzImTVNih1lPZRCxwn9CnB94vwQFO4JvVp_GieJ_6L3VN63s8k677GxPArKuoMeyZk9rIYtf2lSZQptl4mF6yjgw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="406" data-original-width="521" src="https://blogger.googleusercontent.com/img/a/AVvXsEiUixGNqt4D6_Gls9VCmj9r8055PL9N-APERmD6gsHpodft-YFsMBi_d2ORKSaNXPEUP5NEByUNHIf2zmNuC9xg3x4IDHVbPglzImTVNih1lPZRCxwn9CnB94vwQFO4JvVp_GieJ_6L3VN63s8k677GxPArKuoMeyZk9rIYtf2lSZQptl4mF6yjgw=s16000" /></a></div><div style="text-align: center;">Digital Audio playback from EPROM , older version for Sound Effects Car Horn</div></div><div style="text-align: center;">555 Timer, 2x 74LS373 Counters, and 74LS00 quad Nand , 74LS32 quad XOR</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><br /></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-34401328747175607432023-08-13T20:46:00.005-07:002023-09-15T11:03:29.434-07:00Sun Micro Systems - Scott McNealy , First Global Internet Stream Decembe...<iframe frameborder="0" height="360" src="https://youtube.com/embed/IAYF-m1z7o4" style="background-image: url(https://i.ytimg.com/vi/IAYF-m1z7o4/hqdefault.jpg);" width="480"></iframe><div><br /></div><div><br /></div><div><a href="https://github.com/johnsokol/holiday_greeting_1992">https://github.com/johnsokol/holiday_greeting_1992</a></div><div><br /></div><div><br /></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-56119876904496144002023-08-05T13:44:00.001-07:002023-08-05T13:44:50.740-07:00Pinon Hill - El Mirage Site.<p> </p><p>Pinon Hill - El Mirage Site.</p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgAyYXwrlA_xVD0dcMCNeQnbgU5tGe-KppBTz0k4IJusnZsKIwEgxX3DvO4CcvVFD2NLa2L_1_WPtkPCC78gQIiIb6rVQhO4WxoOnJDqzJuHDrN8m5XpjitJBIL5KO7ZjH-Wz0l_2HDnj8mN10pxHcWKOHyaS5n6CLmhYTP43ur4kk6tkK-obg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1028" data-original-width="2056" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEgAyYXwrlA_xVD0dcMCNeQnbgU5tGe-KppBTz0k4IJusnZsKIwEgxX3DvO4CcvVFD2NLa2L_1_WPtkPCC78gQIiIb6rVQhO4WxoOnJDqzJuHDrN8m5XpjitJBIL5KO7ZjH-Wz0l_2HDnj8mN10pxHcWKOHyaS5n6CLmhYTP43ur4kk6tkK-obg=w640-h320" width="640" /></a></div><br /><br /><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiVnIYjSumRHeOAekW1ZvOS435Rc5PPucUWGpFlN0GOeabpVTJDXEpd_khRX9L-v1JBzDNspmKHE_0FIubLa4b9aFyWXLQ6SkKtsHbzNS6--2SZJh3xlZk6N247oZbk40TOeMPwaDGI-cNUcQBZFfJrWDZZvsn3Q2Mz9GCpg_fSpc9E-J5gUR8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1028" data-original-width="2056" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEiVnIYjSumRHeOAekW1ZvOS435Rc5PPucUWGpFlN0GOeabpVTJDXEpd_khRX9L-v1JBzDNspmKHE_0FIubLa4b9aFyWXLQ6SkKtsHbzNS6--2SZJh3xlZk6N247oZbk40TOeMPwaDGI-cNUcQBZFfJrWDZZvsn3Q2Mz9GCpg_fSpc9E-J5gUR8=w640-h320" width="640" /></a></div><p><br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjkJQOIFRGhhNUXSmC7e0v1J2_PKfPSU-EuyQawyERUeuoXnQzzZFfHsPf_9ohc0Gi73Xp5uW_xQjbjA_Wx8OynBr4hrSa7GZaD_nPtFE45t1rS2qUVVh_KcXtFX00IXQMl0gRT7DhschbGlmnQCCup4ahQoo1WweI1yKviyW2xZtOVlfqkjco" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1028" data-original-width="2056" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEjkJQOIFRGhhNUXSmC7e0v1J2_PKfPSU-EuyQawyERUeuoXnQzzZFfHsPf_9ohc0Gi73Xp5uW_xQjbjA_Wx8OynBr4hrSa7GZaD_nPtFE45t1rS2qUVVh_KcXtFX00IXQMl0gRT7DhschbGlmnQCCup4ahQoo1WweI1yKviyW2xZtOVlfqkjco=w640-h320" width="640" /></a></div><br /><br /><br /><p></p><p><br /></p><p><br /></p><p><br /></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0Pinon Hills, CA, USA34.433237 -117.64679176.1230031638211528 -152.8030417 62.743470836178844 -82.4905417tag:blogger.com,1999:blog-36504670.post-75218578214065038772023-07-21T11:53:00.004-07:002023-07-21T11:55:36.312-07:00Doing a little digging on 5G and 4G infrastructure. OpenRAN<p><br /></p><p>Trying to make sense of the Open RAN initiative, and it's not directly FOSS. Although there are Free Open Source Solutions. </p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 0px 0px 1.25em; white-space-collapse: preserve;">Open Radio Access Network (Open RAN) is a concept in network engineering that involves the design and implementation of radio access networks (RANs) using open and interoperable protocols and interfaces, which allows for increased flexibility and diversity in network deployments.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Traditionally, the elements of a radio access network - such as the baseband unit, remote radio head, and the various functions and applications that run on them - have been provided by a single vendor in a closed system. These elements have typically been custom designed, with proprietary interfaces between them, meaning that network operators have had to rely on a single vendor for their equipment and upgrades.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Open RAN changes this by standardizing the protocols and interfaces between these elements. This means that they can be provided by different vendors and still work together. This opens up the market to more competition, potentially leading to innovation, reduced costs, and the ability for operators to more easily customize their networks to suit their needs.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Open RAN can be used in 5G networks in the same way as previous generations. However, 5G presents new demands for connectivity, capacity, latency, and more - which makes the flexibility, scalability, and cost-effectiveness of Open RAN particularly beneficial.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space-collapse: preserve;">Open RAN is supported by several industry groups, such as the O-RAN Alliance and the Telecom Infra Project (TIP), which work to define and promote open and interoperable standards. However, the implementation of Open RAN requires advanced network management and orchestration capabilities and will be a significant change for network operators used to working with traditional, single-vendor RAN systems. As of my knowledge cut-off in September 2021, Open RAN is in the early stages of deployment in many parts of the world.</p><p><br /></p><p><a href="https://www.openranforum.com/">Home | Open RAN Global Forum 2023 (openranforum.com)</a></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 0px 0px 1.25em; white-space-collapse: preserve;">In the context of O-RAN or Open RAN interfaces (like A, E, O, and eCPRI), the physical transport medium would typically be fiber-optic cables, due to their high data capacity and low latency characteristics, which are crucial for the high bandwidth and real-time requirements of 5G networks.</p><ol style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; counter-reset: list-number 0; display: flex; flex-direction: column; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; list-style: none; margin: 1.25em 0px; padding: 0px; white-space-collapse: preserve;"><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">eCPRI Interface (between CU/DU and RU)</span>: The physical transport of the eCPRI (enhanced Common Public Radio Interface) typically relies on Ethernet carried over fiber-optic cables. This is due to the high bandwidth requirements of the fronthaul link, which can reach up to 25 Gbps or even higher depending on the number and bandwidth of the radio channels, and the radio interface technology (e.g., MIMO configurations).</p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">A, E, and O Interfaces</span>: For the A, E, and O interfaces, the physical transport medium could also be Ethernet over fiber, but it could potentially also be other high-speed digital communication lines, depending on the specific requirements of the network. These interfaces typically don't have as stringent latency and bandwidth requirements as the eCPRI interface, so there could be more flexibility in the transport medium.</p></li></ol><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space-collapse: preserve;">However, the specific transport medium used can depend on a number of factors, including the existing infrastructure, the specific requirements of the interfaces and network, and the cost and feasibility of installing new infrastructure.</p><p><br /></p><p><a href="https://github.com/srsran/srsRAN_4G">https://github.com/srsran/srsRAN_4G</a></p><p><a href="https://github.com/Citrayaf/How-to-build-OpenCore-and-OpenRAN-for-5G">https://github.com/Citrayaf/How-to-build-OpenCore-and-OpenRAN-for-5G</a></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 0px 0px 1.25em; white-space-collapse: preserve;">Open5GS is an open-source project that provides implementations for the protocols that form the core network in 4G and 5G systems, based on the 3GPP (3rd Generation Partnership Project) specifications.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">These protocols define the behavior of the network components that handle tasks like authentication, mobility management, session management, and interfacing with the packet data network. In a 5G context, Open5GS would provide the software necessary to implement the 5G core network, including elements like the Access and Mobility Management Function (AMF), Session Management Function (SMF), and User Plane Function (UPF).</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">Open5GS is designed to support both 4G and 5G systems, meaning it can be used to build a network that supports these different generations of mobile technology. It could be particularly useful for anyone looking to experiment with 5G network deployments or develop new 5G services, given its open-source nature and implementation of 5G core functions.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space-collapse: preserve;">Remember that, while a project like Open5GS can provide the software needed to run a 5G network, deploying a real-world mobile network would also require compatible hardware and spectrum, and would need to meet any relevant regulatory requirements.</p><p><br /></p><p><a href="https://kkohls.org/guides_open5gs.html">https://kkohls.org/guides_open5gs.html</a></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 0px 0px 1.25em; white-space-collapse: preserve;">"OpenCore" in the context of 5G usually refers to the concept of an open-source implementation of the core network protocols specified by 3GPP for 5G networks. These protocols define the behavior of the network components that handle tasks such as authentication, mobility management, session management, and interfacing with the packet data network.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">One of the primary examples of an open-source 5G core network implementation is the Open5GS project that I mentioned earlier. The "open" aspect refers to the fact that the source code is freely available and can be modified and distributed under the terms of its respective license, which in the case of Open5GS is the Apache License 2.0.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space-collapse: preserve;">OpenCore in 5G provides opportunities for operators and organizations to experiment with 5G network deployments, develop new 5G services, and potentially reduce costs by avoiding the licensing fees associated with proprietary software solutions.</p><p><span face="Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="background-color: #f7f7f8; color: #374151; font-size: 16px; white-space-collapse: preserve;">eCPRI (enhanced Common Public Radio Interface) standard specifies the use of Ethernet as the physical transport layer. This is a change from the original CPRI standard, which used a dedicated serial interface.</span></p><p><a href="https://en.wikipedia.org/wiki/Common_Public_Radio_Interface">https://en.wikipedia.org/wiki/Common_Public_Radio_Interface</a></p><p><a href="http://www.cpri.info/downloads/eCPRI_v_1_2_2018_06_25.pdf">http://www.cpri.info/downloads/eCPRI_v_1_2_2018_06_25.pdf</a></p><p><a href="http://www.cpri.info/">http://www.cpri.info/</a></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 0px 0px 1.25em; white-space-collapse: preserve;">Beyond Ethernet over fiber-optic cables, several other high-speed communication lines are commonly used in networking and telecom infrastructure, depending on the requirements of the specific network, interface, and use case. Here are a few examples:</p><ol style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; counter-reset: list-number 0; display: flex; flex-direction: column; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; list-style: none; margin: 1.25em 0px; padding: 0px; white-space-collapse: preserve;"><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">SONET/SDH</span>: These are standard synchronous fiber-optic networking technologies used for high-speed data transfer. They have traditionally been used in telecom backbone networks, but have more recently been replaced by more modern technologies in many cases.</p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">DWDM (Dense Wavelength Division Multiplexing)</span>: This technology is used to increase the bandwidth of optical fiber networks by transmitting multiple signals at different wavelengths (colors) simultaneously on the same fiber.</p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">OTN (Optical Transport Network)</span>: This is a set of optical network standards that allow efficient transport of data traffic over optical fiber. It's often used in conjunction with DWDM systems for long-distance, high-capacity networks.</p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">MPLS (Multiprotocol Label Switching)</span>: While not a physical line in itself, MPLS is a protocol that can enhance data transmission over various types of physical lines. It's often used in high-performance networks due to its ability to handle different types of data streams (like Ethernet, SONET, etc.) and its capabilities for managing quality of service (QoS) and traffic engineering.</p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">xDSL Lines</span>: For shorter distances or last-mile connectivity, different types of DSL (Digital Subscriber Line) technologies can be used, such as ADSL, VDSL, etc.</p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span color="var(--tw-prose-bold)" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;">Coaxial Cable</span>: Coaxial cable, while not as commonly used for high-speed backbone networks, is still used in certain applications and last-mile connections, particularly in cable broadband networks (DOCSIS technology).</p></li></ol><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space-collapse: preserve;">Please note that for the transport of RAN traffic, especially for 5G networks, high-speed, low-latency connections are crucial. Therefore, options like Ethernet over fiber-optic cable, DWDM, and OTN are most commonly used.</p><p><br /></p><p><br /></p><p><a href="https://en.wikipedia.org/wiki/Open_Base_Station_Architecture_Initiative">https://en.wikipedia.org/wiki/Open_Base_Station_Architecture_Initiative</a></p><p><a href="https://lwn.net/Articles/421435/">https://lwn.net/Articles/421435/</a></p><p>UDPCP Communication Protocol</p><pre style="background-color: white; overflow: visible;">UDPCP is a communication protocol specified by the Open Base Station
Architecture Initiative Special Interest Group (OBSAI SIG). The
protocol is based on UDP and is designed to meet the needs of "Mobile
Communication Base Station" internal communications. It is widely used by
the major networks infrastructure supplier.
The UDPCP communication service supports the following features:
-Connectionless communication for serial mode data transfer
-Acknowledged and unacknowledged transfer modes
-Retransmissions Algorithm
-Checksum Algorithm using Adler32
-Fragmentation of long messages (disassembly/reassembly) to match to the MTU
during transport:
-Broadcasting and multicasting messages to multiple peers in unacknowledged
transfer mode</pre><pre style="background-color: white; overflow: visible;"><br /></pre>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-55514733183945459482023-04-10T19:12:00.001-07:002023-04-10T19:12:10.785-07:00The Questor Tapes : Story by: Gene Roddenberry<div class="Z26q7c UK95Uc" data-sncf="1" data-snf="nke7rc" style="background-color: white; color: #202124; contain: layout paint; flex: 0 0 auto; font-family: Roboto, arial, sans-serif; font-size: 14px; overflow: hidden;"><div class="VwiC3b yXK7lf MUxGbd yDYNvb lyLwlc lEBKkf" style="-webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #4d5156; display: -webkit-box; margin-bottom: 0px; overflow: hidden; padding-top: 0px;"></div></div><div class="Z26q7c UK95Uc" data-sncf="2" data-snf="Lr56le" style="background-color: white; color: #202124; contain: layout paint; flex: 0 0 auto; font-family: Roboto, arial, sans-serif; font-size: 14px; margin-bottom: 5px; margin-top: 5px; overflow: hidden;"><i style="color: #202122; font-family: sans-serif;"><b>The Questor Tapes</b></i><span style="color: #202122; font-family: sans-serif;"> is a 1974 American </span><a href="https://en.wikipedia.org/wiki/Television_film" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3366cc; font-family: sans-serif; overflow-wrap: break-word; text-decoration-line: none;" title="Television film">made-for-television</a><span style="color: #202122; font-family: sans-serif;"> </span><a href="https://en.wikipedia.org/wiki/Science_fiction_film" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3366cc; font-family: sans-serif; overflow-wrap: break-word; text-decoration-line: none;" title="Science fiction film">sci-fi</a><span style="color: #202122; font-family: sans-serif;"> </span><a href="https://en.wikipedia.org/wiki/Drama_(film_and_television)" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3366cc; font-family: sans-serif; overflow-wrap: break-word; text-decoration-line: none;" title="Drama (film and television)">drama film</a><span style="color: #202122; font-family: sans-serif;"> about an </span><a href="https://en.wikipedia.org/wiki/Android_(robot)" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3366cc; font-family: sans-serif; overflow-wrap: break-word; text-decoration-line: none;" title="Android (robot)">android</a><span style="color: #202122; font-family: sans-serif;"> (portrayed by </span><a href="https://en.wikipedia.org/wiki/Robert_Foxworth" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3366cc; font-family: sans-serif; overflow-wrap: break-word; text-decoration-line: none;" title="Robert Foxworth">Robert Foxworth</a><span style="color: #202122; font-family: sans-serif;">) with incomplete memory tapes who is searching for his creator and his purpose. Conceived by </span><a href="https://en.wikipedia.org/wiki/Gene_Roddenberry" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3366cc; font-family: sans-serif; overflow-wrap: break-word; text-decoration-line: none;" title="Gene Roddenberry">Gene Roddenberry</a><span style="color: #202122; font-family: sans-serif;">, who is credited as executive consultant, the script is credited to Roddenberry and fellow </span><i style="color: #202122; font-family: sans-serif;"><a href="https://en.wikipedia.org/wiki/Star_Trek" style="background: none; color: #3366cc; overflow-wrap: break-word; text-decoration-line: none;" title="Star Trek">Star Trek</a></i><span style="color: #202122; font-family: sans-serif;"> alumnus </span><a href="https://en.wikipedia.org/wiki/Gene_L._Coon" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3366cc; font-family: sans-serif; overflow-wrap: break-word; text-decoration-line: none;" title="Gene L. Coon">Gene L. Coon</a><span style="color: #202122; font-family: sans-serif;">.</span></div><p> <span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">Project Questor is the brainchild of the genius Dr. Vaslovik, who<br /></span><span style="background-color: white;"><span style="color: #2c2c2c; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><span style="font-size: 14px;">developed plans to build an android super-human. Although he has</span></span><br /></span><span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">disappeared and half of the programming tape was erased in the attempt<br /></span><span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">to decode it, his former colleagues continue the project and finally<br /></span><span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">succeed in creating Questor. However, Vaslovik seems to have installed a<br /></span><span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">secret program in Questor's brain. He flees and starts to search for<br /></span><span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">Vaslovik. Since half of his knowledge is missing, he needs the help of<br /></span><span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">Jerry Robinson, who is now suspected of having stolen the android.</span></p><p><span style="background-color: white; color: #2c2c2c; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;"><a href="https://archive.org/details/the-questor-tapes">https://archive.org/details/the-questor-tapes</a></span></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-62566585184290150162023-04-09T09:49:00.002-07:002023-04-12T13:42:32.528-07:00Saffron Rose is a group that wants to automate the harvesting of Saffron<iframe frameborder="0" height="270" src="https://youtube.com/embed/FMlDeB7VkKM" width="480"></iframe><div><br /></div><div>Someone just let me know about this. I had no idea it was published. </div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-50532768022980202552023-04-04T14:31:00.003-07:002023-04-04T14:31:37.100-07:00Crabs on the island - This is one of my favorite Sci-Fi stories. <p><span style="color: #333333; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><span style="letter-spacing: 0.2px;"> The story revolves around the idea of self-replicating robots, referred to as "crabs," which are sent to an island to perform construction work. The robots are designed to consume local resources to create copies of themselves and exponentially increase their numbers.</span></span></p><p><span style="color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 0.2px;">However, the robots prove to be too efficient and uncontrollable, eventually consuming everything on the island and beginning to replicate beyond it. The story serves as a cautionary tale about the potential dangers of uncontrolled technological advancements and raises questions about the ethical implications of creating self-replicating machines.</span></p><p><br /></p><p><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px;"><br /></span></p><p><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px;">Dneprov, A. (1968). Crabs on the island. In </span><em style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; text-size-adjust: none;">The molecular cafe: Science-fiction stories</em><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px;">. Mir.</span></p><p><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;">Featuring self-replicating machines </span><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;">Anatoly Dneprov’s 1958 Russian work </span><em style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; text-size-adjust: none; widows: 3;">Крабы идут по острову</em><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;"> </span><span class="citation" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; text-size-adjust: none; widows: 3;">(<a href="https://www.tim-taylor.com/selfrepbook/web/chapter-4.html#ref-Dneprov:Kraby" role="doc-biblioref" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background: 0px 0px; box-sizing: border-box; color: #4183c4; text-decoration-line: none; text-size-adjust: none;">Dneprov, 1958</a>)</span><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;"> (later published in English in 1968 as </span><em style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; text-size-adjust: none; widows: 3;">Crabs on the Island</em><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;"> </span><span class="citation" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; text-size-adjust: none; widows: 3;">(<a href="https://www.tim-taylor.com/selfrepbook/web/chapter-4.html#ref-Dneprov:Crabs" role="doc-biblioref" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background: 0px 0px; box-sizing: border-box; color: #4183c4; text-decoration-line: none; text-size-adjust: none;">Dneprov, 1968</a>)</span><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;">). Dneprov’s story has echoes of Dick’s </span><em style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; text-size-adjust: none; widows: 3;">Second Variety</em><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;">, featuring small self-replicating robots designed as weapons. The robots are set loose on a desert island to compete against each other in an evolutionary arms race to produce ever more effective weapons. The experiment works, but not in the way that the machine’s inventor had envisaged—he is eventually killed by one of the evolved machines</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7EPlGqG6bESRbfFOaBq2jyDEp1JPtN94AFfJSI3UyeqnjpRPqWtZYOoIteeY5rFRtlNHDshccKyc-lp0LSYYNhOkRBIh8LdQj8P5YBbJ5WLRzMuQBCr_b-IEpiVrjQdF9m0DKWiepbZE1AMkSafLpiFBmht3gD7qF_6HtqGzoV0rN7wn5jk/s1196/dneprov-crabs-all.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="669" data-original-width="1196" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7EPlGqG6bESRbfFOaBq2jyDEp1JPtN94AFfJSI3UyeqnjpRPqWtZYOoIteeY5rFRtlNHDshccKyc-lp0LSYYNhOkRBIh8LdQj8P5YBbJ5WLRzMuQBCr_b-IEpiVrjQdF9m0DKWiepbZE1AMkSafLpiFBmht3gD7qF_6HtqGzoV0rN7wn5jk/w640-h358/dneprov-crabs-all.png" width="640" /></a></div><br /><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; orphans: 3; widows: 3;"><br /></span><p></p><div class="figure" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; text-align: center; text-size-adjust: none;"><p class="caption" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; box-sizing: border-box; color: #777777; margin-bottom: 0.85em; margin-top: 0px; orphans: 3; text-size-adjust: none; widows: 3;">images taken from the original Russian version of Anatoly Dneprov’s <em style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; box-sizing: border-box; text-size-adjust: none;">Крабы идут по острову</em> (<em style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; box-sizing: border-box; text-size-adjust: none;">Crabs on the Island</em>) <span class="citation" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; box-sizing: border-box; text-size-adjust: none;">(<a href="https://www.tim-taylor.com/selfrepbook/web/chapter-4.html#ref-Dneprov:Kraby" role="doc-biblioref" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background: 0px 0px; box-sizing: border-box; color: #4183c4; text-decoration-line: none; text-size-adjust: none;">Dneprov, 1958</a>)</span>, published in 1958. From left to right, the images show three successive stages of the plot, from the inventor’s arrival on the island with colleagues and their release of a single manufactured self-reproducing crab (along with “food” of various types of metal to be distributed around the island), to an evolutionary arms race developing among the growing crab population, to the eventual murder of the inventor by a large evolved crab that has noticed the valuable metal in his false teeth.</p></div><p style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.2px; margin-bottom: 0.85em; margin-top: 0px; orphans: 3; text-size-adjust: none; widows: 3;"><br /></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-3927664410457822672023-03-07T00:01:00.001-08:002023-03-07T00:01:35.084-08:00Bode plot of a simple pendulum<p> </p><p>With a little assistance from ChatGPT, </p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 0px 0px 1.25em; white-space: pre-wrap;">A Bode plot is a graphical representation of the frequency response of a system, which shows how a system responds to input signals of different frequencies. To make a Bode plot of a pendulum, you first need to model the pendulum mathematically as a system that responds to input signals.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">Assuming that the pendulum is a simple pendulum, you can model it as a second-order system with a transfer function of the form:</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">G(s) = K / (s^2 + 2ζωn s + ωn^2)</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">where K is the gain, ωn is the natural frequency of the pendulum, and ζ is the damping ratio.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">To obtain the Bode plot, you can plot the magnitude and phase of the transfer function G(s) as a function of frequency, ranging from 0 to infinity. To do this, you can express the transfer function in terms of frequency by substituting s = jω, where j is the imaginary unit and ω is the frequency in radians per second.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">Once you have obtained the transfer function in terms of frequency, you can plot the magnitude and phase of G(jω) as a function of log(ω). The magnitude plot shows how the amplitude of the pendulum's response varies with frequency, while the phase plot shows how the phase of the response varies with frequency.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space: pre-wrap;">The Bode plot of a pendulum can provide insights into the system's stability and performance, and can be useful in designing control systems to regulate the pendulum's motion.</p><p><br /></p><p><span style="color: #343541; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;">python code that will compute the transfer function of a pendulum of a given length and mass. and displays a bode plot</span></p><div style="text-align: left;"><blockquote>import numpy as np<br />from scipy import signal<br />from control import matlab<br />import matplotlib.pyplot as plt </blockquote><blockquote># Define pendulum parameters<br />l = 1.0 # length of pendulum in meters<br />m = 1.0 # mass of pendulum in kilograms<br />g = 9.81 # acceleration due to gravity in m/s^2 </blockquote><blockquote># Compute natural frequency and damping ratio<br />wn = np.sqrt(g / l)<br />zeta = 0.05 </blockquote><blockquote># Define transfer function<br />num = [1.0]<br />den = [1.0, 2*zeta*wn, wn**2]<br />G = signal.TransferFunction(num, den) </blockquote><blockquote># Compute frequency response<br />w, mag, phase = signal.bode(G)<br /><br /># Compute frequency response<br /># omega = np.logspace(-2, 2, 1000)<br /># mag, phase, omega = matlab.bode(G, omega) </blockquote><blockquote># Display Bode plot<br />plt.figure()<br />plt.semilogx(w , mag)<br />plt.xlabel('Frequency [rad/s]')<br />plt.ylabel('Magnitude [dB]')<br />plt.title('Bode Plot')<br />plt.grid()<br />plt.show()</blockquote></div><div style="text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT-KbOSL7MgDA20aQG5tJKG7hrfqHclMCl7NqljJ1hIMSGDKlFjkiwlNKkYDf9qfx5JSzGPJpui1vMkRz6Tf1-vAAHV07U1_1BucnWZn8tO2wvYeXMyEMTS4tbW5FpZu5xVd8t_lbUxDK_UnYZthtOcqbdlKkJSkcMiGu3C-kV1QB6Haj0_ys/s640/Figure_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT-KbOSL7MgDA20aQG5tJKG7hrfqHclMCl7NqljJ1hIMSGDKlFjkiwlNKkYDf9qfx5JSzGPJpui1vMkRz6Tf1-vAAHV07U1_1BucnWZn8tO2wvYeXMyEMTS4tbW5FpZu5xVd8t_lbUxDK_UnYZthtOcqbdlKkJSkcMiGu3C-kV1QB6Haj0_ys/s16000/Figure_1.png" /></a></div><br /><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;">This code defines the length and mass of the pendulum, computes the natural frequency and damping ratio, and defines the transfer function using the </span><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; font-weight: 600; white-space: pre-wrap;">signal.TransferFunction</code><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;"> function. It then computes the frequency response using the </span><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; font-weight: 600; white-space: pre-wrap;">matlab.bode</code><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;"> function and displays the Bode plot using the </span><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; font-weight: 600; white-space: pre-wrap;">matplotlib</code><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;"> library. You can adjust the values of </span><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; font-weight: 600; white-space: pre-wrap;">l</code><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;">, </span><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; font-weight: 600; white-space: pre-wrap;">m</code><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;">, and </span><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; font-weight: 600; white-space: pre-wrap;">zeta</code><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;"> to see how they affect the Bode plot.</span></div><div style="text-align: left;"><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;"><br /></span></div><div style="text-align: left;"><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;"><br /></span></div><div style="text-align: left;"><span style="background-color: #f7f7f8; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;"><br /></span></div><div style="text-align: left;"><br /></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-11247885626132325862023-02-16T10:46:00.005-08:002023-02-16T10:46:58.577-08:00OpenSCAD model of a Syringe <div style="text-align: left;"> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWMPq7EE0RSQLxYsL7qyTlAq8MRTUS2jp19C-IDOOqCeplvBud9h6dTSp1bbKPbMly7TrIZ_EK0yLvd1lr-gA-o2zsEQ2FnNAuErnb2wSzG-6mk4sZ7vfnySiODvJkBLhsFzQ-792sWRC3iDMAt_d9gtJ1RUTwapo0SnQN2T9ltOhZRkLX6XQ/s1200/Syringe60ml.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1062" data-original-width="1200" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWMPq7EE0RSQLxYsL7qyTlAq8MRTUS2jp19C-IDOOqCeplvBud9h6dTSp1bbKPbMly7TrIZ_EK0yLvd1lr-gA-o2zsEQ2FnNAuErnb2wSzG-6mk4sZ7vfnySiODvJkBLhsFzQ-792sWRC3iDMAt_d9gtJ1RUTwapo0SnQN2T9ltOhZRkLX6XQ/s320/Syringe60ml.gif" width="320" /></a></div><br /><p style="text-align: left;"></p><p style="text-align: left;"><br /></p><p style="text-align: left;"><br /></p><div style="text-align: left;"><div></div><blockquote><div>module syringe(pos=0){</div><div><br /></div><div> %cylinder(r=29.3/2, h=132,$fn=50);</div><div><br /></div><div> translate([0,0,132])</div><div> cylinder(r=29.3/2, r2=9.3/2 ,h=6,$fn=50);</div><div><br /></div><div> translate([0,0,132+6])</div><div> cylinder(r=9.3/2 ,h=7,$fn=50);</div><div><br /></div><div> translate([0,0,132+6+7])</div><div> cylinder(r=4/2 ,h=2,$fn=50);</div><div><br /></div><div><br /></div><div> //cube([50,33,2.3],true);</div><div> linear_extrude(2)</div><div> offset(+3)</div><div> hull(){</div><div> circle(r=33/2 -3);</div><div> square([50-6,16-6],true);</div><div> }</div><div><br /></div><div><br /></div><div> translate([0,0,-12-pos])</div><div> cylinder(r=31/2, h=1.7,true);</div><div><br /></div><div> translate([0,0,-12-pos]) //120 is fully extended. </div><div> cylinder(r=17/2, h=140 );</div><div><br /></div><div>}</div><div><br /></div><div>syringe(pos=abs(120 - ($t * 240))) ;</div></blockquote><div></div></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-10406593652994471162023-02-15T17:46:00.001-08:002023-02-15T19:13:42.398-08:00Lightning Talks @ Hacker Dojo - John Sokol<div><br /></div><iframe frameborder="0" height="270" src="https://youtube.com/embed/VAlJh21B7AQ" width="480"></iframe><div><br /></div><div><br /></div><div><br /></div><div>My talk about a a web3 architecture. </div><div><br /></div><div>Funny how one guy is like Why not use Mastodon, And a minute later another is tell how he was Banned from Mastodon. <br /><br /></div><div>Mastodon, sorry looks like it's striking out. </div><div><br /></div><div>Seems the biggest challenge these people have is trying to P2P or the illusion of it while still being a nanny state. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVKyhMYjtQ5kRtx4ikkqqkcyackH0VLvbcBtS1l_T6bSazmdspzoceRB3TEW9gEbzRMwCANegsDUhcLL-X_acFIGlrpAYGAmR4Z4rM36Fjs-QCfyMmrfZy0qtBZT1-nx3g8emiYjsRHEv7UJ7KIDNitP8Aeb2qDsj9lnf9ycLhQKyaFjCB4M/s718/image4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="718" data-original-width="526" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVKyhMYjtQ5kRtx4ikkqqkcyackH0VLvbcBtS1l_T6bSazmdspzoceRB3TEW9gEbzRMwCANegsDUhcLL-X_acFIGlrpAYGAmR4Z4rM36Fjs-QCfyMmrfZy0qtBZT1-nx3g8emiYjsRHEv7UJ7KIDNitP8Aeb2qDsj9lnf9ycLhQKyaFjCB4M/w469-h640/image4.jpg" width="469" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6IpAErb1yiOM-6OEyb6RKIaW6CQN0amHzS_oMYIo9aOMyo6ps6-tzELVEs9ix4Yo7UvCRzckgXssv82TU63ndL0fW3fmxhUy2DYWAgux_3HToS_FssUNWaliHvL5SCSfrpioFw-jdxlT0Dbg2dcNPzgVPJowvbF_XLnyq-FKAP_HuYOtSKRU/s550/image5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="315" data-original-width="550" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6IpAErb1yiOM-6OEyb6RKIaW6CQN0amHzS_oMYIo9aOMyo6ps6-tzELVEs9ix4Yo7UvCRzckgXssv82TU63ndL0fW3fmxhUy2DYWAgux_3HToS_FssUNWaliHvL5SCSfrpioFw-jdxlT0Dbg2dcNPzgVPJowvbF_XLnyq-FKAP_HuYOtSKRU/s16000/image5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEOfYQEpJlbzaIa1KsPhsG4QIadJvR9ZYO-4CkOo5BgGm6xJnHe_w__HYHSIezLzeqetpPemBoeJDosh8E06m8VrYyRpuEtADqyWzAhhDWYZFxuTjINtCoEqSveAwUxmTqXY1gPMumChDH04dFNEZhh98QdZDmk2GI743lmjVSP8tC0gIUsgk/s1280/image6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1280" data-original-width="720" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEOfYQEpJlbzaIa1KsPhsG4QIadJvR9ZYO-4CkOo5BgGm6xJnHe_w__HYHSIezLzeqetpPemBoeJDosh8E06m8VrYyRpuEtADqyWzAhhDWYZFxuTjINtCoEqSveAwUxmTqXY1gPMumChDH04dFNEZhh98QdZDmk2GI743lmjVSP8tC0gIUsgk/w225-h400/image6.png" width="225" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><span id="docs-internal-guid-1c453272-7fff-1840-ec1b-e653c6594459"><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt; text-align: left;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">browser tab storage</span></h2><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">In a browser tab, can store persistently across reboots 5MB based on the server address.</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">And SessionStorage, as long as a tab is kept open, is Limited only by system memory; it could be many Gigabytes. </span></p><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">How big can localStorage be?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">LocalStorage and SessionStorage</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Storage TypeMax Size</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">LocalStorage 5MB per app per browser. According to the HTML5 spec, this limit can be increased by the user when needed; however, only a few browsers support this </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">SessionStorage Limited only by system memory </span></p><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">SO we can choose to keep 5 MB permanently in your browser that the web site can access, (your keys,creditiats, boot code) and keep on the machine could be 100's of megabytes. </span></p><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Within an open tab</span></p><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Using a RAID-like redundancy scheme, the data can be broken up into pieces, called stripes. With a little added redundancy that will tell me what data is missing and be able to reconstruct before we lose enough to become unrecoverable.. </span></p><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">In raid,you can remove a hard drive, and replace it, it will begin to restore the missing data to the new drive based on redundant (extra copies) in the array</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><a href="https://www.gwtproject.org/doc/latest/DevGuideHtml5Storage.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.gwtproject.org/doc/latest/DevGuideHtml5Storage.html</span></a></p><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: left;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Use of WebRTC for P2P communications directly between browser tabs. </span></h1><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><a href="https://webrtc.github.io/samples/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://webrtc.github.io/samples/</span></a></p><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">RTCPeerConnection</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection</span></a></p><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><a href="https://www.youtube.com/watch?v=btKd-VLzNR0" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.youtube.com/watch?v=btKd-VLzNR0</span></a></p><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">The Strange Irony is all This originated from My 1997 video streaming company. </span></p><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><a href="https://www.ecip.com/fwdoc.htm" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.ecip.com/fwdoc.htm</span></a></p><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><a href="https://johnsokol.blogspot.com/2006/12/how-skype-punches-holes-in-firewalls.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://johnsokol.blogspot.com/2006/12/how-skype-punches-holes-in-firewalls.html</span></a></p><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt; text-align: left;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Ad-Hoc Hybrid star mesh topology</span></h2><div style="text-align: left;"><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">For this to work some users will need to run Node.js servers in the cloud to act as relays. in a Hybrid star mesh topology</span></p><br /></span></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1T09lDdDy5rT2CRfSoupbpU1OQFS_bYvQtyHOjf40ZTubg4XCcKVdS6-Z5EHrL37XD9gwk_qQS1wCbMCsmPbwiJ_bFELtGr_6msH0WftxJ_dPKKb1doRyZ1JWNOoLRzf5CNzFn6e7AWnGji30UPLUDzSvrakcUOc5axO4NyceN9im5zkD1ls/s420/image9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="420" data-original-width="358" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1T09lDdDy5rT2CRfSoupbpU1OQFS_bYvQtyHOjf40ZTubg4XCcKVdS6-Z5EHrL37XD9gwk_qQS1wCbMCsmPbwiJ_bFELtGr_6msH0WftxJ_dPKKb1doRyZ1JWNOoLRzf5CNzFn6e7AWnGji30UPLUDzSvrakcUOc5axO4NyceN9im5zkD1ls/w341-h400/image9.jpg" width="341" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><span id="docs-internal-guid-33fe9f2f-7fff-0461-865c-1fa8959fe9d6"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: black; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">black being HTML5 - browser Tabs</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">, and white (node.js cloud instances) relays</span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">A relay is most likely a Node.js instance that is used to establish webrtc links between tabs. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Between relays is a publish and subscribe communications message bus that forms the layer 1 one of communications coordination and initialization and signaling. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Also a Tab can enter a URL of another Relay and have its host relay establish a link. Bridging relays and allowing cross relay content searches, and its client tabs together into one larger network. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">I see relays as being more Slaves devices responding to request and serving a database of local clients with assets. </span></p><br /><br /><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Content addressing</span></h1><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">All content addressed by relay name (URL or IP) will look like a normal website. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Relays may use standard username and password or cookies to control access. And charge access fees per month. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Relays may blacklist other relays or URL's??? </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Some relays may only be accessible through relays to gain credentials. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">http://Relay/Hash</span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Such as https://relay.johnsokol.com:2222/dd5db37a4c79ea699c3a8084d5a74aef</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">For the most part a address here is indistinguishable from a normal URL intended for a browser and indeed, it will serve up some default HTML content. It's really intended to be connected to by websocket. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Externally when a user directly connects, they can get one of only a few pieces of externally accessible content This is a list of hashes or usl's -> hash defined in a config file loaded at startup. Whatever the admin has decided for them. Maybe a sign up page with payment. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Internally, on the bus the request is published. A special Admin Tab, is keeping a database and subscribed, and furfulls requests. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> The Node will broadcast to all subscribing tabs the request and send the content to be sent as an HTML web page from the node.js relay. For non-websocket basic http requests. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> All other content requests from there are done using our internal messaging protocol over a websocket to the relay server to the tabs and p2p over webrtc directly between users tabs to avoid bandwidth consumption of the cloud relay. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">For this to work there must be a significant javascript communications layer running in the users tab. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">There should be some form of access control to the relay to prevent DOS attacks. Or maybe a way to put behind services such as cloudflare?</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Some relays are only accessible by other relays and not openly available. Ie- websocket only interfaces. So HTTP content can be served from CDN. </span></p><br /><br /><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Basic Session flow</span></h1><br /><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">special Admin Tab</span></h2><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> A Tab based javascript that manages the Relay, and its backend services, keeping a database of users and subscribes to messages, and furfulls some requests. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Some login credentials are in the Node.js config file and entered for the first time a Admin accesses a relay with a new Browser, from this point these are stored in cookies. </span></p><br /><br /><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Normal Tab</span></h2><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Regular web users click links on social media. They are directed to the Node relay that messages its websock connected clients. </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">These Posting clients are subscribed to the relay for certain requests and respond with the content. Ideally this is a JS Client, that then can present the content as fetched over WebRTC. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">The receiving client Tab establishes a WEBRTC data transfer request, for decoded content. The initially needed Javascript and HTML needed to invoke it. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">From this point the open webrtc request can be made to established tabs, or use the existing websocket ro the relay and query where to make the next webrtc connections to load the next pieces of content. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">This is all Dynamic HTML , generated by Javascript internal to the browser. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">We can send over js code , and run in the browser to produce APPS in a distributed computing platform. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">For this application, it's to act as a file server. </span></p><br /><br /><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Still to work out </span></h1><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Rules for Security and Access control models, so what should I allow hosted into my Tab? </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">How to deal with Pigs, and bad actors? Seems the initial responsibility is that of the relay/s.</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">What handles and tracking meta data do we want to keep on data?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Do we want Authorities and other investigators to be able to do forensics? </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> This is more of a design decision embedded in the javascript libraries. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Maybe using the 5MB local store to keep a persistence database , with user credentials , certs, and keys, and boot javascript images. Configuration options, who gets to use up my memory and with what. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Creation of an internal VM in javascript to allow daemon processes to subscribe to client disconnect or content lost messages to trigger data reconstruction and backup into tabs with available storage. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Think storage should be block oriented. Databases , archive storage systems and such can be built on the top of this. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">We may need external addition stun , turn and Ice servers for webRTC communications initiation in addition to the node relay. (TBD) </span></p><br /><br /><br /><br /><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">RAID hard drive array - like stripping across many servers, to improve performance and throughput.</span></h1></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5fYUVckA9upOEWax8r6r_iJOMzw0p-KXG57GKQOeg-PTr79IrM2AE6y6_C3GAaeEHolcaBrh2q0JX1t3GYAPJLEMUXW2opnHFZl0pmvvi6dI1mSGkv4c6sQ_Vaurm3Q5WLsUfHKwV7Rq7gGRXV1Y97ez05jRwv7Ofdjg2FTj7AZOCrQoeJoA/s435/image10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="340" data-original-width="435" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5fYUVckA9upOEWax8r6r_iJOMzw0p-KXG57GKQOeg-PTr79IrM2AE6y6_C3GAaeEHolcaBrh2q0JX1t3GYAPJLEMUXW2opnHFZl0pmvvi6dI1mSGkv4c6sQ_Vaurm3Q5WLsUfHKwV7Rq7gGRXV1Y97ez05jRwv7Ofdjg2FTj7AZOCrQoeJoA/s16000/image10.png" /></a></div><br /><div><br /></div><div><span id="docs-internal-guid-1698c98e-7fff-81d3-2fb9-c72d54975407"><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;"><b id="docs-internal-guid-4f3b45a0-7fff-dca6-1b92-fa1a7ba26283" style="font-weight: normal;"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">With my ECIP codes </span><a href="https://ecip.com/" style="text-decoration: none;"><span style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">ecip.com</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;"> I started here with the basic Hamming codes and expanded much further. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">For the all purposes of this system a basic (7,4) hamming code will suffice.) </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">We split our data file into 4 pieces. This can be done first bite to file 1 , second to file 2, and so forth as if dealing poker cards.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;"><br /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">Or it can be in blocks of 1KB or ¼ the file length. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;"><br /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">The advantage to a dealing poker style in 1K blocks is speed and being able to reassemble while streaming a video or audio playback. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">These 4 files are then xor'ed to produce 3 additional files. For a total of 7. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">We can corrupt 2 and recover all the data. Or loose 2 of 7 and still have all the data.</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">Since we are storing data in active browser tabs. These can sleep, or go away without notice. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">So detecting this and reconstructing the missing file before additional loss is </span><span style="background-color: transparent; color: red; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">critical </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">for data retention. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">This is where I started , it took me 4 years of research to get to the ECIP codes. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><a href="https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets/documents/Raptor_Codes_IEEE_technical_analysis.pdf" style="text-decoration: none;"><span style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets/documents/Raptor_Codes_IEEE_technical_analysis.pdf</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">Or raid across the online storage, and sense when data's gone missing and start recreating the needed missing copies so as to not lose data. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">still the risk of massive network outages exists. Such as a blackout, or internet cable cut. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">users could store data and restore archive files. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">javascript can generate saveable files such as a gif of jpeg. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">I have collected all of the needed examples, and just a matter of assembling it all. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><br /></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><a href="https://en.wikipedia.org/wiki/Erasure_code" style="text-decoration: none;"><span style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">https://en.wikipedia.org/wiki/Erasure_code</span></a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><br /></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><a href="https://www.usenix.org/conference/fast15/technical-sessions/presentation/xia" style="text-decoration: none;"><span style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">https://www.usenix.org/conference/fast15/technical-sessions/presentation/xia</span></a></p><br /></b></span></h1><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 20pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">System Vulnerabilities. </span></h1><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;"><b style="font-weight: normal;"><br /></b></span></h1><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 16pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">Getting busted for content. </span></h2><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;"><b style="font-weight: normal;"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;"> Stored files such as copyright movies could be posted by malicious actors such as Disney. And track every browser's IP that attempts to access it. This is used with Torrents. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;"><br /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;"> This might also be possible by man in the middle proxy servers such as the type Xfinity and Uverse Internet have. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">Such that the mere act of holding a block from this content puts you in jeopardy. </span></p><br /><br /></b></span></h1><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 16pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;">Public pad cryptography. </span></h2><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;">This also goes along with an idea I have played with that I call , "public pad cryptography"</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;">designed to break code breaking equipment. It was a neat idea back when writable CD's came out. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;">Both a properly compressed file and a properly encrypted file both should be nearly indistinguishable from noise or a file of random numbers. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;">But they can be fingerprinted and tracked, checksummed. And identified as contranded content. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;">On the other hand, if the system would demand you need some other random block from some other content, then even a non copyright infringer could have legitimate reason to hold part of that file as a key to decode other content . there by blending or mixing all of the data up. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;">This can be done a simply as the Xor process needed to do the hamming codes </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;">It is super efficient. And will completely wreck standard code breaking techniques as it pushes against the memory bottleneck rather than the compute bottleneck. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><br /></span></p></span></h1><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Other similar existing projects with working example code. Components that could be built upon. </span></h1><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">PeerJS</span></h2><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">PeerServer: A server for PeerJS</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">PeerServer helps establish connections between PeerJS clients. Data is not proxied through the server.</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://peerjs.com" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://peerjs.com</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://github.com/peers/peerjs-server#readme" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://github.com/peers/peerjs-server#readme</span></a></p><br /><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">PeerServer</span></h2><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">PeerServer: A Server in the Browser with WebRTC</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://github.com/PeerServer/peer-server/blob/master/README.md" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://github.com/PeerServer/peer-server/blob/master/README.md</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.youtube.com/watch?v=yQH5Vkzw8ko" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.youtube.com/watch?v=yQH5Vkzw8ko</span></a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.youtube.com/watch?v=w76V3H1Q6HI" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.youtube.com/watch?v=w76V3H1Q6HI</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Croquet</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">https://croquet.io/docs/index.html</span></p><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">OS-JS - Super cool. </span></h2><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">I didn't realize the file system is remote and shared by everyone at first. </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> As such the demo site gets corrupted after a while. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://demo.os-js.org/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://demo.os-js.org/</span></a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.os-js.org/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.os-js.org/</span></a></p><br /><br /><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">CYFS is short for CYberFileSystem</span></h2><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.cyfs.com/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.cyfs.com/</span><span style="color: black; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></a><a href="https://github.com/buckyos/CYFS" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://github.com/buckyos/CYFS</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Holly shit, nearly identical to what I was thinking. After a solid 2 weeks of researching I only found out about this because of an upcoming hackathon with a $10,000 prize. </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /><br /></span></p><br /><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Croquet</span></h2><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Instantaneous Shared Experiences is how we describe Croquet on our website</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">https://blog.codefrau.net/2021/08/what-is-croquet-anyways.html</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><a href="https://croquet.io/docs/croquet/">https://croquet.io/docs/croquet/</a></span></p><br /><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Part of Bluesky initiative. </span></h1><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Gun DB. - Mark Nadal Gave talk in dojo in January. </span></h2><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://gun.eco/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://gun.eco/</span></a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://github.com/amark/gun" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://github.com/amark/gun</span></a></p><br /><br /><h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;"><span style="font-family: Arial; font-size: 16pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Nostr </span></h2><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://nostr.com/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://nostr.com/</span></a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://github.com/nostr-protocol/nostr" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://github.com/nostr-protocol/nostr</span></a></p><br /><h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;"><span style="color: #434343; font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">What is Nostr?</span></h3><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">A decentralized network based on cryptographic keypairs and that is not peer-to-peer, it is super simple and scalable and therefore has a chance of working. </span><a href="https://github.com/nostr-protocol/nostr" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Read more about the protocol.</span></a><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> You can also reach us at our </span><a href="https://t.me/nostr_protocol" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Telegram group</span></a><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> (while we don't have a decent group chat application fully working on Nostr).</span></p><br /><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">They now have a javascript port of IPFS (a complete game changer for the Eth/IPFS model) </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://js.ipfs.tech/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://js.ipfs.tech/</span></a></p><br /><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">DAG</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://docs.ipfs.tech/concepts/merkle-dag/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://docs.ipfs.tech/concepts/merkle-dag/</span></a></p><br /><h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;"><span style="font-family: Arial; font-size: 20pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;">Articles:</span></h1><div><span><br /></span></div><div><span>Erasure Codes:</span></div><div><a href="http://ecip.com">ecip.com</a> </div><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Nodes are going to dethrone tech giants — from Apple to Google</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://cointelegraph.com/news/nodes-are-going-to-dethrone-tech-giants-from-apple-to-google" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://cointelegraph.com/news/nodes-are-going-to-dethrone-tech-giants-from-apple-to-google</span></a></p><br /><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Authors History: </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Original </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Amorphous OS</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> talk from 2000 at the ACCU. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.johnsokol.com/~sokol/amorp/amorphous1_files/v3_document.htm" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.johnsokol.com/~sokol/amorp/amorphous1_files/v3_document.htm</span></a></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Meshcast </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">P2P Business plan 2001.</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="http://www.dnull.com/meshcast/meshcast/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">http://www.dnull.com/meshcast/meshcast/</span></a></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Decash </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">- crypto payment system 2004</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://web.archive.org/web/20040328083934/http://decash.com/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://web.archive.org/web/20040328083934/http://decash.com/</span></a></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://johnsokol.blogspot.com/2018/02/opensecret-unforgeable-proof-of.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://johnsokol.blogspot.com/2018/02/opensecret-unforgeable-proof-of.html</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">FileSharing P2P & SOA</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Idea is to combine Peer to Peer and </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Server Oriented architecture</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">. This will be especially useful for very large files (over 500 MB files).</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://docs.google.com/document/d/e/2PACX-1vQiWlARGLBLIjzC4HT-KGyRanXHsirJm-GRjFeDaGKQyh1ZZKm7VuzxCW2uUCUwyDq4VZYkcAfrsQcA/pub" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://docs.google.com/document/d/e/2PACX-1vQiWlARGLBLIjzC4HT-KGyRanXHsirJm-GRjFeDaGKQyh1ZZKm7VuzxCW2uUCUwyDq4VZYkcAfrsQcA/pub</span></a></p><br /><span id="docs-internal-guid-df5e2a00-7fff-11e6-223a-59969353ec8a"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Other things to see: </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Full Linux on Intel X86 running in a webassembly based emulator in a browser tab. </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://churchofbsd.blogspot.com/2020/06/jslinux-pcx86-emulator-in-javascript.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://churchofbsd.blogspot.com/2020/06/jslinux-pcx86-emulator-in-javascript.html</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://churchofbsd.blogspot.com/2020/06/a-browser-on-linux-with-x-windows-in.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://churchofbsd.blogspot.com/2020/06/a-browser-on-linux-with-x-windows-in.html</span></a></p><div><br /></div><div><br /></div><div><br /></div><div><br /></div></span><span id="docs-internal-guid-0a60b68a-7fff-be6f-ebd2-79329f9059a8"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">from my notes in Amorphous. 2012 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">File System</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Global File system address. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Like the URL scheme, but rather than point to a host and domain name. Instead we can point to a network file system object, there could be several. These too inherit their security permissions and preinstalled configs, appropriate version dependencies and base objects.</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">The intent is every application has a constructor or factory that builds its world before it executes. Version appropriate shared libraries will be loaded as needed.</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Network, distributed Cache system. Built around git style version control and code distribution. </span></p><br /><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Could be based on the GIT Hash Abstraction layer. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Where files are mapped to a HashKey reference in a directory listing ( index ) </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Duplicates are automatically consolidated. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Updates and reverts are quick. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">If a file system were based on this then rather than checkout a version, you mount a version and branch. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">you can share back your changes, people check these in and out. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Changes from git, you can mount and build file systems for different apps. carefully quarantine programs. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Infinite granularity. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Directory entries in JSON or equivalent directory name value pairs. Recursive objects defined. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">that finally point to actual files and the index directory file can have complete granularity in control and permissions. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">File is actually pointed to as a hash key, within the hash key is an object who matches that hash or a placeholder object that references the location to fetch the real one. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Software install/upgrade/revert/remove is a git checkout for a sub-directory within a larger repo. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Applications are just a link to a directory entry. This intern starts the retrieval engine who will query it's upstream caches for instructions on how to fetch this data. </span></p><br /><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Files can be encrypted. can call other dependent objects to perform encryption or compression or other translation or interpretation. </span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">File attributes include:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Ownership, license, URL, EMAIL, (TRACK, BACKTRACE, REPORT, UPDATE) Callback URL. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: #ffe599; font-family: Arial; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> Permis</span></p><br /></span><br /></span></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-2261481825908139412023-02-14T12:10:00.002-08:002023-02-14T12:10:24.088-08:00The Anybots QX, development
<p style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/wQYRvXNVY1o" title="YouTube video player" width="560"></iframe></p>
<div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimf5blkqrx960IKf78DiasLwC2cKnPim-5GATYP9eqdGp8aXcAaBRLI-Qf3vGPIxYH6XLcTTzmQb1WnGypmRijOGqBsFL4EIAPv0rZ8T-r4HuFuZVN-0ifrC5JwTnPcW6mT_pmuh7lI4fgDoeHtRmDdPZ71ZG0S9dcZRNS20i2HTmZ6L1FaeA/s960/14359176_10155144994683238_4735841524555602108_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="716" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimf5blkqrx960IKf78DiasLwC2cKnPim-5GATYP9eqdGp8aXcAaBRLI-Qf3vGPIxYH6XLcTTzmQb1WnGypmRijOGqBsFL4EIAPv0rZ8T-r4HuFuZVN-0ifrC5JwTnPcW6mT_pmuh7lI4fgDoeHtRmDdPZ71ZG0S9dcZRNS20i2HTmZ6L1FaeA/s320/14359176_10155144994683238_4735841524555602108_n.jpg" width="239" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpyArkzd2cNreS7gtzJyjkKAORP-04c6epe9k-QkM3yb9ysUlYNJOwJo9lVhOxNhDA550U7JIZlfbr5a8DXuVHbyKrRozR-LWfCp6CziVoSVHdtJ6X_nUdonpFt2wtY0ryboV1TszPX1UPH0Kc_DeFsYnH77o0AmW_8YOWE0VxLWLTy-s9XSo/s960/14359274_10155144992703238_5738749384491398948_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="716" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpyArkzd2cNreS7gtzJyjkKAORP-04c6epe9k-QkM3yb9ysUlYNJOwJo9lVhOxNhDA550U7JIZlfbr5a8DXuVHbyKrRozR-LWfCp6CziVoSVHdtJ6X_nUdonpFt2wtY0ryboV1TszPX1UPH0Kc_DeFsYnH77o0AmW_8YOWE0VxLWLTy-s9XSo/s320/14359274_10155144992703238_5738749384491398948_n.jpg" width="239" /></a></div><div class="separator" style="clear: both; text-align: center;">Basic concept, we hacked the Ball Headed QB in to the 21 inch sony IPS LCD. </div><div class="separator" style="clear: both; text-align: center;">But kept the weight distribution identical so the balancing would not be changed. </div><p><br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnQu4U_vzl1z9E4UL0_hPwNdCFVwZ3I1YBnWZAQc92AVkTwI1Pbefdv8n1ODhBqMGz9EGtA0Yl5bq6lYPfRhvDV9E-6gsliADeuElfLNcDw7v19BSRlpq5ktXnznhnIsNi45kK2q-aYMS8gWQcZp3E9trBvW2jT3PX-JAD6JDlISzyY3h1hpQ/s960/14355761_10155144993243238_8355389178837627242_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="716" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnQu4U_vzl1z9E4UL0_hPwNdCFVwZ3I1YBnWZAQc92AVkTwI1Pbefdv8n1ODhBqMGz9EGtA0Yl5bq6lYPfRhvDV9E-6gsliADeuElfLNcDw7v19BSRlpq5ktXnznhnIsNi45kK2q-aYMS8gWQcZp3E9trBvW2jT3PX-JAD6JDlISzyY3h1hpQ/s320/14355761_10155144993243238_8355389178837627242_n.jpg" width="239" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">This evolved to vacuum formed ABS plastic.<br />Super dent proof. <br /><br />I had come up with an amazing fall protection system for the screen, that worked well, and no monitor screen were ever broken or damaged in this configuration. </div><br /><br /><div style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/ocOYvpnmehU" title="YouTube video player" width="560"></iframe></div>
<div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">Here is where it all went wrong. We were housed in a company that designs and manufactured Aluminum parts. <br />After we perfected a wonder design, they decided to overrule me and go with Aluminum ,</div><div class="separator" style="clear: both; text-align: center;"> something that could not survive one fall. </div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">There was no reasoning. </div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUKnjXtB3lhRRNv1rp0gmj17Sjwl6Bq3eXAdMCmdaKC04OkzOmOsts6dwm2dpu61qPss6W4gozJEZ4NMCtu8uU4oC8WqTFyZIRRd1ewTlbzvBQgUax_7UukD_Wh_CTWVHO6bE2aM0TgFK8SbB80BJ2P0X_MX54d9p0FTFRdfDuCrSNQgVp6Jo/s960/14355512_10155144995663238_4364687303056600737_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="960" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUKnjXtB3lhRRNv1rp0gmj17Sjwl6Bq3eXAdMCmdaKC04OkzOmOsts6dwm2dpu61qPss6W4gozJEZ4NMCtu8uU4oC8WqTFyZIRRd1ewTlbzvBQgUax_7UukD_Wh_CTWVHO6bE2aM0TgFK8SbB80BJ2P0X_MX54d9p0FTFRdfDuCrSNQgVp6Jo/s320/14355512_10155144995663238_4364687303056600737_n.jpg" width="320" /></a></div><p><br /></p><p><br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNRLMQ5jI8toNPnPYVBRk4ao28iox4UuuMNoWOFBSH9lNNZGtLIMabffleNZiZMwCsZ-sJ7iLeLraJycO7EExkviRAxqu_bJ7eLzt00hrV-_s0yP3A-laahjmZVNcGaRzczRVeqPQM9uAKHGDg_a0KG_vRSz4jMsZRWCyugxuEJCNZaQqgeX0/s960/14364753_10155144994373238_5716719266140234572_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="892" data-original-width="960" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNRLMQ5jI8toNPnPYVBRk4ao28iox4UuuMNoWOFBSH9lNNZGtLIMabffleNZiZMwCsZ-sJ7iLeLraJycO7EExkviRAxqu_bJ7eLzt00hrV-_s0yP3A-laahjmZVNcGaRzczRVeqPQM9uAKHGDg_a0KG_vRSz4jMsZRWCyugxuEJCNZaQqgeX0/s320/14364753_10155144994373238_5716719266140234572_n.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeU2puTLxSU8-2Rls6ZVBEqL7_3uJsH9k-g6mdTDZqWtTJrBwIQel8CPmdL2TnLtf-vv5YNKKTni869YoipldAsCoZ9F31q1NKfRwogtjI_tlFo4HJb218yKi662IhOSTNXf8-2lLPmUWhBm9EuyrF27O_iu-kuISQWJahnFpqGnuT60nZfrk/s824/1470282_10152395155098238_970302246_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="824" data-original-width="615" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeU2puTLxSU8-2Rls6ZVBEqL7_3uJsH9k-g6mdTDZqWtTJrBwIQel8CPmdL2TnLtf-vv5YNKKTni869YoipldAsCoZ9F31q1NKfRwogtjI_tlFo4HJb218yKi662IhOSTNXf8-2lLPmUWhBm9EuyrF27O_iu-kuISQWJahnFpqGnuT60nZfrk/s320/1470282_10152395155098238_970302246_n.jpg" width="239" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">By the end I was overruled by even more stupid decisions like not wanting the vertical video and using 2 small screens even though we could have done this split screen crap with one monitor. </div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br style="text-align: left;" /><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGiHwlPUxkTZHHWRfwuHVCo3ifKOKppfYfy0gM5TDjMghZIsfSYqCqVMzzUsrR-B6XllEUWLKnOutyiVTHTCIUvB-w3i8yWcJknXonY1zQqNSKFBpw69FRKF5bAxI4krJUsFanGAPatZs5Qk3id_24sjF36uyzJUqDxLDOhB1olPunHOk0ZhA/s960/14355094_10155144992958238_7526742684501956388_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="720" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGiHwlPUxkTZHHWRfwuHVCo3ifKOKppfYfy0gM5TDjMghZIsfSYqCqVMzzUsrR-B6XllEUWLKnOutyiVTHTCIUvB-w3i8yWcJknXonY1zQqNSKFBpw69FRKF5bAxI4krJUsFanGAPatZs5Qk3id_24sjF36uyzJUqDxLDOhB1olPunHOk0ZhA/s320/14355094_10155144992958238_7526742684501956388_n.jpg" width="240" /></a></div></div><p><br /></p><p><br /></p><p> Everything ended when they shipped it to Europe and it immediately fell over, </p><p> it was now 2x as heave in the head, and unable to survive a fall. Suddenly I am the one to blame?</p><p><br /></p><p><a href="https://spectrum.ieee.org/anybots-new-monolithic-telepresence-robot-qx">https://spectrum.ieee.org/anybots-new-monolithic-telepresence-robot-qx</a></p><p><br /></p><p><br /> </p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-80207383197665155852023-02-14T11:36:00.000-08:002023-02-14T11:36:47.416-08:00super simple tesla coil, no sparks, but it can light up a bulb. <p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgQipomil6CLaW3JScJQ4P_yCYppre361j_8SgHW4-ddb_xOB3qWqhX_T6IZ6vKNubiv1vmJ9YRnvoo61myi2G4YhGCpCf_yZ955lktC8kDYr5mHyA36YSn2NjSw170qy_ps4V0PbSIcRs0P073hDWNWjXfOI7_I5BpXTetHk1XViFzuNTFIY/s2048/11045507_10153779635558238_8833621008306975993_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1530" data-original-width="2048" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgQipomil6CLaW3JScJQ4P_yCYppre361j_8SgHW4-ddb_xOB3qWqhX_T6IZ6vKNubiv1vmJ9YRnvoo61myi2G4YhGCpCf_yZ955lktC8kDYr5mHyA36YSn2NjSw170qy_ps4V0PbSIcRs0P073hDWNWjXfOI7_I5BpXTetHk1XViFzuNTFIY/w400-h299/11045507_10153779635558238_8833621008306975993_o.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWhB6Zz63-GXlcIGUt7GOzHfEZ8Ykq2Qo5z-k8th8sZC3HnBUQWejwVedsnqajAvlf9G1hXI30IJX0nz4ZToyP5u9G7ovIEUwS4MTuPucbs_PZPdziKW8Lnsl5GDj5_9WCynu1_5dXgEi3ag2fKItf_AYgDRYiTzxKhJYKHAuiXS_GMXP-72Y/s2048/11062794_10153779635568238_5734436090763950598_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1530" data-original-width="2048" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWhB6Zz63-GXlcIGUt7GOzHfEZ8Ykq2Qo5z-k8th8sZC3HnBUQWejwVedsnqajAvlf9G1hXI30IJX0nz4ZToyP5u9G7ovIEUwS4MTuPucbs_PZPdziKW8Lnsl5GDj5_9WCynu1_5dXgEi3ag2fKItf_AYgDRYiTzxKhJYKHAuiXS_GMXP-72Y/w400-h299/11062794_10153779635568238_5734436090763950598_o.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">Super quick and dirty, this was some plastic tube off some broken toy, </div><div class="separator" style="clear: both; text-align: center;">just attached to a gear motor to do the windings. </div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx9TGlxawTPWJM5ZWL6NoDixDaXg2uIXhixcA8Ho-Ag60xj3nNzOcQT5cudwKH5jix2LNqsi2uElTvCQhRDgJ801iHTgNfO6dw2BADYzkmXjxU9-z-YSiua7HD9QtKF0CywujRgLlvoupDjtb7AjcxIg2FwHabV-jQN1oqmJb6qSpwdHaY_mU/s1582/11270218_10153779635553238_7531063420316835611_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1582" data-original-width="1498" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx9TGlxawTPWJM5ZWL6NoDixDaXg2uIXhixcA8Ho-Ag60xj3nNzOcQT5cudwKH5jix2LNqsi2uElTvCQhRDgJ801iHTgNfO6dw2BADYzkmXjxU9-z-YSiua7HD9QtKF0CywujRgLlvoupDjtb7AjcxIg2FwHabV-jQN1oqmJb6qSpwdHaY_mU/w379-h400/11270218_10153779635553238_7531063420316835611_o.jpg" width="379" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><p></p><div class="separator" style="clear: both; text-align: left;">I think they call it a slayer circuit. I have no idea what it's oscillating at. I am almost scared to ask, probably a few Mhz and would upset the fcc types.. </div><p></p></blockquote><p> So I gave a talk and put the light bulb in my mouth and lit it. Al la, Uncle Fester, and nobody in the room of 100+ got the reference. I don't think they ever posted the video even. </p><p><br /> </p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-92230913384282861762023-02-12T18:58:00.004-08:002023-02-12T19:00:52.861-08:00Secure chat client. Tox protocol. <p><br /></p><p><br /></p><p>E9B418FBA532199E431244158B961C27337135D34F1F6E53E229EA54EE77C756EDC66D6B5B4A My id</p><p>https://tox.chat/ </p><p>Open source P2P skype replacement.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR5nYYMhXzBQILi0zrXlWGDv4E0UKToMB_N-QW4kRlwAEWTqI0HZzfbSxiYTxrG2S8yrKU-CCVrKFZQP4rOoL5SzB2ozu_t2s6wBR1a08Vhi4CQqLJqdr6A9PGNlBq-CPu3YvwqQ25rqBI9_5XyjEDojly5Oc6zSW2nSei6KJLZW2UvqaLypI/s480/johnsokol.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="480" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR5nYYMhXzBQILi0zrXlWGDv4E0UKToMB_N-QW4kRlwAEWTqI0HZzfbSxiYTxrG2S8yrKU-CCVrKFZQP4rOoL5SzB2ozu_t2s6wBR1a08Vhi4CQqLJqdr6A9PGNlBq-CPu3YvwqQ25rqBI9_5XyjEDojly5Oc6zSW2nSei6KJLZW2UvqaLypI/s320/johnsokol.png" width="320" /></a></div><br /><p><br /></p><p><br /></p><p>For more info see my other post: <br /> <a href="http://churchofbsd.blogspot.com/2023/02/tox-secure-open-source-p2p-communication.html">http://churchofbsd.blogspot.com/2023/02/tox-secure-open-source-p2p-communication.html</a></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-49505612543723308452023-02-03T19:29:00.003-08:002023-02-03T19:29:53.823-08:00Toroidal Propellers <p><br /></p><p><br /></p><p><br /></p><p>This past week the internet's been a buzz about Toroidal Propellers after MIT won an award.</p><p><br /></p><p><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="TwitterChirp, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: white; border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 23px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;">The toroidal propeller, one of the Lab's </span></p><div class="css-1dbjc4n r-xoduu5" style="-webkit-box-align: stretch; -webkit-box-direction: normal; -webkit-box-orient: vertical; align-items: stretch; background-color: white; border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline-flex; flex-basis: auto; flex-direction: column; flex-shrink: 0; font-family: TwitterChirp, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 23px; margin: 0px; min-height: 0px; min-width: 0px; padding: 0px; position: relative; white-space: pre-wrap; z-index: 0;"><span class="r-18u37iz" style="-webkit-box-direction: normal; -webkit-box-orient: horizontal; flex-direction: row;"><a class="css-4rbku5 css-18t94o4 css-901oao css-16my406 r-1cvl2hr r-1loqt21 r-poiln3 r-bcqeeo r-qvutc0" dir="ltr" href="https://twitter.com/RD100Awards" role="link" style="background-color: rgba(0, 0, 0, 0); border: 0px solid black; box-sizing: border-box; color: #1d9bf0; cursor: pointer; display: inline; font: inherit; list-style: none; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; text-align: inherit; text-decoration-line: none; white-space: inherit;">@RD100Awards</a></span></div><p><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="TwitterChirp, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: white; border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 23px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;"> winners, has a unique, closed-form propeller design that makes it a significantly quieter alternative to common multirotor propellers on commercial uncrewed aerial vehicles. </span><a class="css-4rbku5 css-18t94o4 css-901oao css-16my406 r-1cvl2hr r-1loqt21 r-poiln3 r-bcqeeo r-qvutc0" dir="ltr" href="https://t.co/hgda3NgYIz" rel="noopener noreferrer nofollow" role="link" style="background-color: white; border: 0px solid black; box-sizing: border-box; color: #1d9bf0; cursor: pointer; display: inline; font-family: TwitterChirp, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 23px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; text-decoration-line: none; white-space: pre-wrap;" target="_blank"><span aria-hidden="true" class="css-901oao css-16my406 r-poiln3 r-hiw28u r-qvk6io r-bcqeeo r-qvutc0" color="inherit" style="border: 0px solid black; box-sizing: border-box; display: inline; font-family: inherit; font-size: 0px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 0px; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: inherit;">http://</span>ow.ly/yWA150MkbPw</a></p><p><span style="background-color: white; font-size: 15px; white-space: pre-wrap;"><a href="https://twitter.com/MITLL/status/1611438712683958306?s=20">https://twitter.com/MITLL/status/1611438712683958306?s=20</a></span></p><p>TOROIDAL PROPELLERS MAKE DRONES LESS ANNOYING<br /><a href="https://hackaday.com/2023/01/28/toroidal-propellers-make-drones-less-annoying/">https://hackaday.com/2023/01/28/toroidal-propellers-make-drones-less-annoying/</a></p><p><br /></p><p>Toroidal propellers: A noise-killing game changer in air and water<br /><a href="https://newatlas.com/aircraft/toroidal-quiet-propellers/">https://newatlas.com/aircraft/toroidal-quiet-propellers/</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZK91Hq9DfzYC2u-3EexmOi7sdqmqLV0Gk63x0e-bJitqrFWKPBZO3ZPS37Cs3DbmqqHxDxIXGrceALZlIt9fxYe71BLMiZ6H9Qf-nj-RXTGrgEL4qVK2O16hEvOUub52G9YKXEtm2grdmAJRWzvybWKZGOxOKDisE7n-FbcNkP_eRNt2_oE/s2880/tp1.webp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1919" data-original-width="2880" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZK91Hq9DfzYC2u-3EexmOi7sdqmqLV0Gk63x0e-bJitqrFWKPBZO3ZPS37Cs3DbmqqHxDxIXGrceALZlIt9fxYe71BLMiZ6H9Qf-nj-RXTGrgEL4qVK2O16hEvOUub52G9YKXEtm2grdmAJRWzvybWKZGOxOKDisE7n-FbcNkP_eRNt2_oE/s320/tp1.webp" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDk99Q4S8Ho2nrcP_0vj9M8O7KRt4u0M2JWN4L24I-63mHHVqY-T0Go7qKGJD9F-xapjCPfQ4UOIs1rxxdtkLaF-_JXTWBzIwbYhpUxQLKbkxe9zBxpjWNoQxEvh2QV7ni3EjyPS2v2TTra4bGguxv2hcfaf0pCw9L6-I9afP2Hn_PJySbUDs/s2880/tp2.webp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2305" data-original-width="2880" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDk99Q4S8Ho2nrcP_0vj9M8O7KRt4u0M2JWN4L24I-63mHHVqY-T0Go7qKGJD9F-xapjCPfQ4UOIs1rxxdtkLaF-_JXTWBzIwbYhpUxQLKbkxe9zBxpjWNoQxEvh2QV7ni3EjyPS2v2TTra4bGguxv2hcfaf0pCw9L6-I9afP2Hn_PJySbUDs/s320/tp2.webp" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4-W7L0OQ44Hh_AJ30c-DAfhjiVFNrxjnTLdcxxc1ydnHWPrUeD9Ph-BT5BTGJhj8e6WlCBdy4bQUM4yHUkfEv91MA7mi1jLFBwApRwwXBNyFuWTjxF7aD3j2_LkBgOnwbbjtHBcUCtUbpWI5IkRjrcfMo32cRECPklOfAfZgamq8Edv4hN6U/s2880/tp3.webp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2567" data-original-width="2880" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4-W7L0OQ44Hh_AJ30c-DAfhjiVFNrxjnTLdcxxc1ydnHWPrUeD9Ph-BT5BTGJhj8e6WlCBdy4bQUM4yHUkfEv91MA7mi1jLFBwApRwwXBNyFuWTjxF7aD3j2_LkBgOnwbbjtHBcUCtUbpWI5IkRjrcfMo32cRECPklOfAfZgamq8Edv4hN6U/s320/tp3.webp" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBFGx8LyNTU-Nz95VNfrHG7fkv06BAxVBWIqAoK6uZB08YPMO9UmQyhN0seVUA9rP21Y5P0ELMa-7sJVgFfRNTFDiLKVAC0W1IHnXQ5cmnc-W_Iesh0CI80XNnI-36HQI9R4TYgIhJc-XsLdDKIkGon3IhLVmXjWxS6RAv0sBcp2LBe4ou8Zk/s2880/tp4.webp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1292" data-original-width="2880" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBFGx8LyNTU-Nz95VNfrHG7fkv06BAxVBWIqAoK6uZB08YPMO9UmQyhN0seVUA9rP21Y5P0ELMa-7sJVgFfRNTFDiLKVAC0W1IHnXQ5cmnc-W_Iesh0CI80XNnI-36HQI9R4TYgIhJc-XsLdDKIkGon3IhLVmXjWxS6RAv0sBcp2LBe4ou8Zk/w640-h288/tp4.webp" width="640" /></a></div><br /><p><br /></p><p><br /></p><p>So I thought I would give it a shot </p><p>My OpenSCAD script. Not really happy with it. </p><span style="background-color: rgba(0, 0, 0, 0.05);"> <span style="color: #0f0f0f; font-family: Roboto, Arial, sans-serif;"><span style="font-size: 14px; white-space: pre-wrap;"> // johnsokol.com - Attempt to create a toroidal propeller
M = [ [ 1 , 0 , 0 , 0 ], </span></span></span><div><span style="background-color: rgba(0, 0, 0, 0.05);"><span style="color: #0f0f0f; font-family: Roboto, Arial, sans-serif;"><span style="font-size: 14px; white-space: pre-wrap;"> [ 0 , 1 , 0.7, 0 ], // The "0.7" is the skew value; pushed along the y axis as z changes.
[ 0 , 0.7 , 1 , 0 ],
[ 0 , 0 , 0 , 1 ] ] ;
multmatrix(M)
scale([2,0.5,1])
rotate_extrude(angle = 360)
translate([80,0,0])
rotate( -65)
import("airfoil.dxf", convexity = 10);</span></span></span><div><br /></div><div><br /></div><div><br /></div><div>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/7N3vRuPx8II" title="YouTube video player" width="560"></iframe>
<p>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/1I5WTqo72m0" title="YouTube video player" width="560"></iframe>
</p><p><br /></p><p></p></div></div>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-53062285249305179692022-12-24T03:22:00.000-08:002022-12-24T03:22:01.910-08:00Thoughts on Dart Mission. <p> </p><p>I was just thinking that if you put a massive electric charge on an asteroid it should want to spread out. Causing the rocks and dust to electrostatically repel.</p><p><br />While creating opposite charges should make the 2 asteroids attract each other. </p><p><br /></p><p><br /></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-18546002564682664882022-12-09T23:04:00.000-08:002022-12-09T23:04:23.459-08:00Overboard - hoverboard robot
Project Overboard.
A robot that simulates a rider by going over an unmodify hoverboard.
Hence Overboard.
<iframe frameborder="0" height="270" src="https://youtube.com/embed/dHNLrv1YdPs" width="480"></iframe>
<iframe frameborder="0" height="270" src="https://youtube.com/embed/5PbHz7nm0Ug" width="480"></iframe>
<iframe frameborder="0" height="270" src="https://youtube.com/embed/Awd0MXXB5a0" width="480"></iframe>
<iframe frameborder="0" height="270" src="https://youtube.com/embed/U4uySifT06U" width="480"></iframe>
<iframe frameborder="0" height="270" src="https://youtube.com/embed/PhS5uaoAC7A" width="480"></iframe>
John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-82704038053176360242022-09-15T02:18:00.004-07:002022-09-15T02:18:42.499-07:00Fatal Tesla Crash off 101 North Coyote Rd San Jose 9/13/2022<iframe width="480" height="270" src="https://youtube.com/embed/EN93IXNTBtk" frameborder="0"></iframe>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-12350363070184588232022-05-02T11:39:00.000-07:002022-05-02T11:39:00.208-07:001995 Internet presentation<p> </p><p>1995 Presentation I put together. </p><p><br /></p><p><br /></p><p></p><p align="center" class="MsoNormal" style="text-align: center;"><span style="font-size: 16.0pt; mso-bidi-font-size: 10.0pt;">TDK Internet presentation<o:p></o:p></span></p>
<p align="center" class="MsoNormal" style="text-align: center;"><span style="font-size: 16.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal">While researching the question “What is the Internet?” to
provide a simple unbiased answer to the question., I came across many widely
different explanations of what the Internet really is.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So what does the word internet really mean? The term
“Internet” is abbreviated from “Inter-Networking”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">As defined by Webster’s New World Dictionary<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>Inter-
prefix<span style="mso-tab-count: 1;"> </span>1. between or among.<span style="mso-spacerun: yes;"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 3;"> </span>2.
with or on each other [interact]<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>Networking
<span style="mso-tab-count: 1;"> </span>1. the development of contacts
or exchanging of information<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 3;"> </span>2.
the interconnection of computer systems.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Networking or a network describes the interconnections
between computers as opposed to the computers themselves and what could be
accomplished by connecting them. There are two major terms use to describe
computer networks, the LAN or local area network is what is commonly found in
offices. It can tie an office of PC’s and MACs together to allow sharing a
printer, disk space, maybe a CDROM drive, or e-mail. <o:p></o:p></p>
<p class="MsoNormal">Beyond this is a WAN or wide area network , this can be used
to connect several mainframe locations or several office LANs together . This
Internet is the ultimate a collection of interconnected WAN’s connecting over
10,000 LAN’s together, it is a global network of networks.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Buddha came up with a good definition approx. 2500 Years ago<o:p></o:p></p>
<p class="MsoNormal">"As a net is made up of a series of ties, so everything
in this world is connected by a series of ties.<span style="mso-spacerun: yes;">
</span>If anyone thinks that the mesh of a net is an independent, isolated
thing, he is mistaken.<span style="mso-spacerun: yes;"> </span>It is called a
net because it is made up of a series of interconnected meshes, and each mesh
has its place and responsibility in relation to other meshes."<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Another definition given in "The Whole Internet User's
Guide and Catalog,"<o:p></o:p></p>
<p class="MsoNormal">The Internet can be thought about in relation to its common
protocols, as a physical collection of routers and circuits, as a set of shared
resources, or even as an attitude about interconnecting and intercommunication.<o:p></o:p></p>
<p class="MsoNormal">Some common definitions given in the past include:<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>* a
network of networks based on the TCP/IP protocols,<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>* a
community of people who use and develop those networks,<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>* a
collection of resources that can be reached from those<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">The Internet as a single network is incomprehensible hugh.
The physical network itself<span style="mso-spacerun: yes;"> </span>has 4 Million
computers world wide with 32 Million people using it. It uses fiber optics,
satellite links, packet radio , microwave, free space laser, modems over phone
lines, leased lines T1, T3, ISDN, ATM Frame relay, SNA ethernet X.25 and many
other types of communications. One of the biggest reasons for the internets
success is it’s adaptability, anywhere two computers can communicate the
internet can expand out to. The network it’s self has almost become a living
creature taking on a life of it’s own, made up of many different organizations
and companies and that have agreed to join networks, it is owned by everyone on
it, and has become a public resource. But the physical part of this global
network is only a small part of what it really represents.<span style="mso-spacerun: yes;"> </span>The Internet has become a tightly nit global
community in cyberspace, it offers just about everything you can find in a big
city like New York and more. It has news papers, mail, billboards, malls,
markets, libraries, friends, and a lot of gossip, and much more.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Understanding how this came to be will require looking how
it has evolved.<span style="mso-spacerun: yes;"> </span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In the Early 1960’s in the RAND corporation ,<span style="mso-spacerun: yes;"> </span>Americas' foremost Cold War think-tank was
faced with a problem. How to make a communications network that could withstand
a nuclear attack?<span style="mso-spacerun: yes;"> </span>Any traditional
network at that time was like the phone company with central command and
control location, should a problem occur with the control center the entire
systems would stop. In 1964 Paul Baran made public a plan for a network that
would have no Central authority and was designed to operate with major parts
of<span style="mso-spacerun: yes;"> </span>it destroyed.<span style="mso-spacerun: yes;"> </span>The principles are simple. The network is
assumed to be unreliable at all times, and it is designed to work around
section that are not working. Each machine (node) on the network has equal
authority to every other node. The messages passed between nodes are broken
smaller pieces called packets. Each packet contains the address of were it is
going<span style="mso-spacerun: yes;"> </span>and checksum to verify that it is
still correct. The nodes on the network pass each packet along in the direction
of it final destination until it get there. The path that these packet take
may be different for each and it is possible that a packet may get lost, copied
, or arrive in a different order than it was sent. It is the responsibility
of<span style="mso-spacerun: yes;"> </span>the destination node to collect and
organize these packets back into the original message and ask for missing
packets if any don't arrive after a certain period of time.<span style="mso-spacerun: yes;"> </span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-spacerun: yes;"> </span>This concept was then
funded<span style="mso-spacerun: yes;"> </span>in 1969 by the Pentagon’s
Advanced Research Projects Agency(ARPA) to connect several supercomputers
around the country, it was called the ARPANET.<span style="mso-spacerun: yes;">
</span>Initially the NCP or Network Control Protocol was used. A protocol
describes the way these computers on the network communicate with one another,
make decisions and resolve problems together. NCP was then replaced with an
improved protocol called TCP/IP or Transmission Control Protocol / Internet
Protocol. One of the major things about TCP/IP is it makes no assumption about
what type of connection it’s being used over. TCP/IP is what allow the internet
to go everywhere, It is one of the only .protocols that will work for both a
LAN and a WAN.<span style="mso-spacerun: yes;"> </span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Over the years the number of computers joining this network
grew rapidly. One of the most popular uses of this network became E-Mail, But
this was limited to only those who could afford the expense of special leased
lines to directly connect to the Elite of the ARPANET.<span style="mso-spacerun: yes;"> </span>As a solution for those less fortunate to
receive E-Mail a method was devised in 1976. Using the UUCP (Unix to Unix Copy
Program) to pass E-Mail along from UNIX machine to UNIX machine over standard phone
lines using modems. This uses a store and forward method and was slow and
complicated, but it did extend the reach of E-Mail. This became known as the
USENET and although it is not a part of the Internet it has played a vital role
in the Internets development.<span style="mso-spacerun: yes;"> </span>Machines
called Gateways have been established that allow Mail, News and<span style="mso-spacerun: yes;"> </span>even file transfers to pass between the
Internet and other networks like the USENET, but these external networks are
not using TCP/IP and are not a part of the internet. The totality of these
combined networks is called the Matrix. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In 1982 - 1983 the ARPANET officially switch to TCP/IP from
NCP. The TCP/IP protocols are public-domain and with the released of BSD UNIX
version 4.2<span style="mso-spacerun: yes;"> </span>from Berkeley a cheap
reliable operating systems became available with full TCP/IP support. BSD UNIX
came will full source code allowing people to port this operating systems and
networking tools to almost every type of computer made at the time. All the
networking software was free and it was almost impossible to stop people from
just connecting up to the internet.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-spacerun: yes;"> </span><o:p></o:p></p>
<p class="MsoNormal">Universities around the country were linking together and
installed Ethernet across there campuses. Ethernet is a LAN networking standard
that originally used a 1/2 round bright orange cable run through ceilings. It
was very simple to plug into this cable get instant high speed access to almost
every computer in every university around the world.<span style="mso-spacerun: yes;"> </span>The demand for this was enormous. After a
point most college and universities offered free shell account to it student
and faculty.<span style="mso-spacerun: yes;"> </span>A shell account is an
account on a UNIX machine that allow you run TCP/IP program on that machine and
see the results over a terminal. Soon people were able to call from home and
check there E-Mail, move large files or use a computer on the other side of the
country that they had moved away from just like they were sitting in front of
it. With access to such a powerful system, students started developing more
software for the internet most of it public-domain.<span style="mso-spacerun: yes;"> </span>As these student left the demand to use these
services from home and business brought about many private companies that did
nothing else but offer University like shell account onto UNIX machines. Netcom
is one of the biggest of these. As the price<span style="mso-spacerun: yes;">
</span>of modems dropped and the speeds became higher new things became
possible. One of these is SLIP<o:p></o:p></p>
<p class="MsoNormal"><br /></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">The </span>MATRIX - Real Time (Internet) VS Store and
Forward (UUCP)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">On the global network there are two major types of
connections that make up the MATRIX,real time and store and forward.<span style="mso-spacerun: yes;"> </span>A real time connection is also known as a
direct internet connection. All Internet services are fully available and
instantaneous.<span style="mso-spacerun: yes;"> </span>Store and forward
connection on the other hand are much slower and only support a small number of
services, E-Mail, Netnews, and File transfer. E-mail on a store and forward
network, can take between 2 hours to 2 days to get through.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There are many store and forward networks the biggest being
UUCP (Unix to Unix Copy Program) based, most commonly called the USENET<span style="mso-spacerun: yes;"> </span>The way these networks operate is mail or
news is in the form of files saved on a hard disk. At regular intervals each
machine on the network (that are not really connected) calls it’s neighboring
machines using a modem and exchanges files. Mail on a network like this might
have to pass along half a dozen machines (NODES) before reaching it’s
destination. This network also connects into the Internet and often mail might
start on the USENET be passed along to the Internet and then end up back on the
USENET.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">One of the main driving forces for store and forward
networks is it’s cheap. It is only recently that inexpensive high speed modems
are available for $200 allowing speeds almost as fast as $1000 a month.<span style="mso-spacerun: yes;"> </span>Only a few years ago the top speed available
over a phone line was 2400 Baud and shortly before that only 300 Baud. And here
where a store and forward network really makes sense. A letter might take 2
Minutes to send at such slow data rates and the cost of sending it long
distance would add up. But on a UUCP network most nodes are a local phone call
and after hopping several nodes would be able to reach the Internet back bone
and rocket across the world to it’s destination.<span style="mso-spacerun: yes;"> </span>So this provides a cheap method for extending
the internets reach, But it’s not really the Internet.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With todays high speed modems, real time internet has become
practical and inexpensive over a standard phone line. Using SLIP (Serial line
internet protocol) or PPP (point to point protocol) all internet services are
available.</p>
<p class="MsoNormal">It’s only recently have high speed modem become available<o:p></o:p></p>
<p class="MsoNormal"><br /></p>
<p class="MsoNormal">Most online providers are in the Matrix, Compuserve, prodigy
etc, But there are NOT on the Internet and can only move E-Mail and maybe
NetNews.<span style="mso-spacerun: yes;"> </span></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>USENET<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Xerox
Park<span style="mso-spacerun: yes;"> </span>- Ethernet<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>BSD
UNIX- TCP/IP<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>E-MAIL
& NEWS<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>SRI-NIC
<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Security<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>Future<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>NII
- National Information Infrastructure - Info Super highway<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>SSL
- Secure socket layer- Electronic Cash & Electronic commerce. <o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Wireless
and Cable TV<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>How to
get in on it<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Slip
- PPP - ISDN - T1 - T3<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Service
providers.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">DEMO & TALK<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>What's
available?<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Applications
- Matrix<span style="mso-spacerun: yes;"> </span>(ON REAL-TIME)<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 3;"> </span>E-MAIL,
NEWS<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Applications
- Internet<span style="mso-spacerun: yes;"> </span>(REAL-TIME)<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 3;"> </span>FTP,
TELNET, FINGER, WHOIS<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 3;"> </span>GOPHER,
ARCHIE, Veronica, Jughead, WAIS<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 3;"> </span>MU,
IRC<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 3;"> </span>WWW
- Mosaic - Netscape.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>Why would
TDK be interested<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;"> </span>Outbound<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Public
relations<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Advertising<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Customer
Support<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Direct
Sales<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Technical
literature.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Professionalism<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;"> </span>Inbound<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Research
(business , marketing, technical, academic)<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Public
Domain software - utilities<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Job
recruitment<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Customer
feedback<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>FREE
Technical Advice and assistance<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 1;"> </span>INTERNAL<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>Employee
handbook<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>memo's
- saving paper<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>improved
internal communications and workflow<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-tab-count: 2;"> </span>improved
corporate organization<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">.<span style="mso-spacerun: yes;"> </span>hierarchy<o:p></o:p></p><br /><p></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0tag:blogger.com,1999:blog-36504670.post-61697621034118492782022-05-02T11:32:00.001-07:002022-05-02T11:32:31.155-07:00History Darpa - Arpanet Internet Timeline<p> </p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal"><o:p>Going through my old CD backup and found this I wrote in 3/1995 </o:p></p><p class="MsoNormal"><o:p><br /></o:p></p>
<p align="center" class="MsoNormal" style="text-align: center;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 14.0pt; mso-bidi-font-size: 10.0pt;">History Darpa
- Arpanet<o:p></o:p></span></b></p>
<p align="center" class="MsoNormal" style="text-align: center;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 14.0pt; mso-bidi-font-size: 10.0pt;">Internet
Timeline<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 14.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1957</span></b><span style="font-family: Courier; font-size: 9pt;"> </span><span style="font-family: Courier;"><span style="font-size: 9pt;">USSR launches Sputnik, first </span><span style="font-size: 12px;">artificial</span><span style="font-size: 9pt;"> earth
satellite.</span></span><span style="font-family: Courier; font-size: 9pt;"> </span><span style="font-family: Courier;"><span style="font-size: 9pt;">In response,<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>US forms the
Advanced Research Projects Agency (ARPA) within the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Department of
Defense (DoD) to establish US lead in science and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>technology
applicable to the military<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1962</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Paul Baran, RAND: "On Distributed
Communications Networks"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>- Packet-switching networks; no single
outage point<o:p></o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1966</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>the Information Processing Techniques Office
(IPTO) of ARPA <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>appointed
Larry Roberts to develop the packet-switching wide-area<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>computer
network;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1967</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ACM Symposium on Operating Principles<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- Plan
presented for a packet-switching network<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1968</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Network presentation to the Advanced
Research Projects Agency (ARPA)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1969</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ARPANET commissioned by DOD for research
into networking<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- use of
Information Message Processors (IMP) [Honeywell mini computer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>with 12K
of memory] developed by Bolt Beranek and Newman (BBN)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>a
four-node initial configuration of the ARPANET was in place. 50Kbps<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>UCLA, SRI,
UCSB, U of Utah,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>First
Request for Comment (RFC): "Host Software" by Steve Crocker<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1970</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ALOHAnet packet radio network developed by
Norman Abrahamson, U of<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Hawaii<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ARPANET
hosts start using Network Control Protocol (NCP).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1971</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>15 nodes (23 hosts): UCLA, SRI, UCSB, U of
Utah, BBN, MIT, RAND, SDC,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Harvard,
Lincoln Lab, Stanford, UIU(C), CWRU, CMU, NASA/Ames<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1972</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>International Conference on Computer
Communications with<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;">
</span>demonstration of ARPANET between 40 machines organized by Bob Kahn.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;">
</span>InterNetworking Working Group (INWG) created to address need<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>for
establishing agreed upon protocols.<span style="mso-spacerun: yes;">
</span>Chairman: Vinton Cerf.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Ray
Tomlinson of BBN invents E-Mail program to send messages across a<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>distributed
network.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1973</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>First international connections to the
ARPANET: England and Norway<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Bob
Metcalfe's (founder of 3COM) PhD Thesis outlines idea for Ethernet<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1974</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Vint Cerf and Bob Kahn publish "A
Protocol for Packet Network<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;">
</span>Internetworking" which specified in detail the design of a<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">Transmission Control Program (TCP).</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>BBN opens
Telenet, commercial version of ARPANET<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>(used
mostly to connect to Compuserve)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1975</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Operational management of Internet
transferred to DCA (now DISA)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>"Jargon
File", by Raphael Finkel at SAIL, first released tested <o:p></o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1976</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">UUCP</b>
(Unix-to-Unix CoPy) developed at AT&T Bell Labs and distributed<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>with UNIX
one year later.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1977</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>THEORYNET created at U of Wisconsin
providing electronic mail to<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>over 100
researchers in computer science (using uucp).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>TCP over world
wide satellite links and packet radio.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1978</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Final draft of TCP released<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1979</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Meeting between U of Wisconsin, DARPA, NSF,
and computer scientists<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>from many
universities to establish a Computer Science Department<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>research
computer network.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>USENET
established using uucp between Duke and UNC by Tom Truscott<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9pt;"> </span><span style="font-family: Courier;"><span style="font-size: 9pt;">and Steve
Bellovin. </span><span style="font-size: 12px;">Providing</span><span style="font-size: 9pt;"> News and E-Mail services<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1980</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">Berkeley
releases 4.0 BSD UNIX</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1981</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>BITNET, the "Because Its Time
NETwork"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- Started as
a cooperative network at the City University of New York.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- Provides
electronic mail and listserv servers to distribute<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;">
</span>information.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- Unlike
USENET, where client s/w is needed, electronic mail is the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>only tool
necessary.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>CSNET
(Computer Science NETwork) built by UCAR and BBN through seed<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>money
granted by NSF to provide networking services (specially<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>E-Mail) to
university scientists with no access to ARPANET.<span style="mso-spacerun: yes;"> </span>CSNET<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>later becomes known as the Computer and
Science Network.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Minitel
(Teletel) is deployed across France by French Telecom. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1982</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>INWG establishes the Transmission Control
Protocol (TCP) and Internet<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Protocol
(IP), as the protocol suite, commonly known as TCP/IP, for<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ARPANET.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- This leads
to one of the first definition of an "internet"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>as a
connected set of networks, specifically those using TCP/IP,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>and
"Internet" as connected TCP/IP internets.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- DoD
declares TCP/IP suite to be standard for DoD<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>EUnet
(European UNIX Network) is created by EUUG to provide E-Mail and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>USENET
services.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1983</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">Name
server</b> developed at U of Wisconsin, no longer requiring users<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>to know the
exact path to other systems.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Cutover from
<b style="mso-bidi-font-weight: normal;">NCP to TCP/IP</b> (1 January)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>CSNET /
ARPANET gateway put in place<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ARPANET
split into ARPANET and MILNET; the latter became integrated<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>with the
Defense Data Network created the previous year.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;"><span style="mso-spacerun: yes;"> </span>Berkeley releases 4.2 BSD UNIX</b>
incorporating TCP/IP standard.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Desktop
workstations come into being, many with Berkeley UNIX which<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>includes IP
networking software.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Need
switches from having a single, large time sharing computer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>connected to
Internet per site, to connection of an entire LAN.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>EARN
(European Academic and Research Network) established.<span style="mso-spacerun: yes;"> </span>Very<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>similar to
the way BITNET works.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>FidoNet
developed by Tom Jennings.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1984</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Domain Name Server (DNS) introduced.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span># of hosts
breaks 1,000<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>JUNET (Japan
Unix Network) established using UUCP.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>JANET (Joint
Academic Network) established in the UK using the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Coloured
Book protocols.<o:p></o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1986</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>NSFNET created (backbone speed of 56Kbps)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- NSF
establishes 5 super-computing centers to provide high-computing<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>power for
all (JVNC@Princeton, PSC@Pittsburgh, SDSC@UCSD, NCSA@UIUC,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Theory
Center@Cornell).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ARPANET
bureaucracy keeps it from being used to interconnect<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>centers
and NSFNET comes into being with the aid of NASA and DOE.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- This
allows an explosion of connections, especially from<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;">
</span>universities.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Cleveland
Freenet (start of NPTN) comes on-line<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9pt;"> </span><span style="font-family: Courier;"><span style="font-size: 9pt;">Network News
Transfer </span><span style="font-size: 12px;">Protocol</span><span style="font-size: 9pt;"> (NNTP) designed to enhance Usenet news<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>performance
over TCP/IP.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Mail
Exchanger (MX) records developed by Craig Partridge allowing<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>non-IP
network hosts to have domain addresses.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1987</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>NSF signs a cooperative agreement to manage
the NSFNET backbone with<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Merit
Network, Inc. (IBM and MCI involvement was through an agreement<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>with
Merit).<span style="mso-spacerun: yes;"> </span>Merit, IBM, and MCI later
founded ANS.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>UUNET is
founded with Usenix funds to provide commercial UUCP and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Usenet
access.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>1000th RFC:
"Request For Comments reference guide"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span># of hosts
breaks 10,000<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span># of BITNET
hosts breaks 1,000<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1988</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Robert Morris’s Internet worm burrows
through the Net breaking into and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>crashing SUN
and VAX UNIX machines world wide.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1989</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ARPANET formally expired - many rumors that
Internet will die.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span># of hosts
breaks 100,000<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>NSFNET
backbone upgraded to T1 (1.544Mbps)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>RIPE
(Reseaux IP Europeens) formed (by European service providers) to<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>ensure the
necessary administrative and technical coordination to<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>allow the
operation of the pan-European IP Network<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>First relay
between a commercial electronic mail carrier (Compurserve)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>and the
Internet through Ohio State University<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">World-Wide Web </b>network developed by Tim
Berners-LEE at CERN in Europe.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1990</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Second relay
between a commercial electronic mail carrier (MCI Mail)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>and the Internet through the Corporation
for the National Research<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Initiative
(CNRI)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>EFF -
Electronic Frontier Foundation is founded by Mitch Kapor<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Hytelnet
released by Peter Scott (U of Saskatchewan)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1991</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Commercial Internet eXchange (CIX)
Association, Inc. formed by General<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Atomics
(CERFnet), Performance Systems International, Inc. (PSInet),<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>and UUNET
Technologies, Inc. (AlterNet)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>WAIS
released by Thinking Machines Corporation<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Gopher
released by University of Minnesota<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>US High
Performance Computing Act (Gore 1) establishes the National<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Research and
Education Network (NREN)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1992</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Internet Society is chartered<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">World-Wide Web</b> (WWW) released by CERN<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span># of hosts
breaks <b style="mso-bidi-font-weight: normal;">1,000,000</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>NSFNET
backbone upgraded to T3 (44.736Mbps)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>First MBONE
audio multicast (March) and video multicast (November)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1993</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>InterNIC created by NSF to provide specific
Internet services<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>- directory
and database services (AT&T)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>-
registration services (Network Solutions Inc.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>-
information services (General Atomics/CERFnet)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>US White
House comes on-line:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>-
President Bill Clinton: president@whitehouse.gov<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>- Vice-President Al Gore:
vice-president@whitehouse.gov<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Internet
Talk Radio begins broadcasting<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>United
Nations and World Bank come on-line<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>US National
Information Infrastructure Act<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">Mosaic</b> takes the Internet by storm; <b style="mso-bidi-font-weight: normal;">WWW</b> proliferates at a 341,634%<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>annual
growth rate of service traffic.<span style="mso-spacerun: yes;"> </span>Gopher's
growth is 997%.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">1994</span></b><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Communities begin to be wired up directly
to the Internet<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>US Senate
and House provide information servers<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Mass
marketing finds its way to the Internet with mass e-mailings<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>Worms of a
new kind find their way around the Net - WWW Worms (W4),<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: Courier; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>joined by
Spiders, Wanderers, Crawlers, and Snakes ...<o:p></o:p></span></p>
<span style="font-family: Courier; font-size: 9.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: JA;"><br clear="all" style="mso-special-character: line-break; page-break-before: always;" />
</span>
<p class="MsoNormal"><o:p> </o:p></p>John Sokolhttp://www.blogger.com/profile/17719400170309249969noreply@blogger.com0