<?xml version="1.0"?>
<!-- name="generator" content="blosxom/2.0" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>e dot dot dot  10 2026</title>
    <link>http://www.jamesraposa.com/index.cgi</link>
    <description>e dot dot dot - a mostly about the Internet weblog by James Raposa</description>
    <language>en</language>

  <item>
    <title>Southeast Asia is hungry for AI  and the money isn't just in subscriptions </title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/22#auto___southeast_asia_is_hungry_for_ai___and_the_money_isn_t_just_in_subscriptions</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Southeast Asia's rapid AI adoption is creating business opportunities beyond paid consumer subscriptions, a partner at Bain &amp; Company, told CNBC.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/22/southeasaisa-singapore-bain-temasek-google-.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Your phone already has a Zapier-style automation tool built in, and it's free</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/22#auto___your_phone_already_has_a_zapier_style_automation_tool_built_in__and_it_s_free</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Your smartphone can automate more functions than you first thought.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/your-phone-has-zapier-style-automation-tools/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>IBM beats on top and bottom lines as CEO Krishna touts 'Super Intelligence' traction</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/22#auto___ibm_beats_on_top_and_bottom_lines_as_ceo_krishna_touts__super_intelligence__traction</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CEO Arvind Krishna indicated that IBM is helping clients in artificial intelligence.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/21/ibm-q3-earnings-report-2026.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Critical web security flaws spark global alarm as Google, OpenAI and Amazon respond </title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/22#auto___critical_web_security_flaws_spark_global_alarm_as_google__openai_and_amazon_respond</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Critical PHP security flaws trigger global warnings as Google, OpenAI and Amazon respond to potential cyber threats.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/22/php-google-openai-and-amazon-cyber.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>The fix for my awful streaming problems was hiding on my router all along</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/22#auto___the_fix_for_my_awful_streaming_problems_was_hiding_on_my_router_all_along</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            QoS settings aren't always apparent, but they're so worth using.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/fix-for-awful-streaming-was-hiding-on-router-all-along/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>My Galaxy has an unexpected defense against doomscrolling</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/22#auto___my_galaxy_has_an_unexpected_defense_against_doomscrolling</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My doomscrolling days are officially numbered.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/galaxy-has-a-defense-against-doomscrolling/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>My USB drive carries Wikipedia and a library that doesn't need Wi-Fi</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/21#auto___my_usb_drive_carries_wikipedia_and_a_library_that_doesn_t_need_wi_fi</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My little USB stick has developed serious librarian energy.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/offline-wikipedia-on-a-usb-drive-with-kiwix/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>iPhones lasts longer than you think  here's how to know when to upgrade</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/21#auto___iphones_lasts_longer_than_you_think___here_s_how_to_know_when_to_upgrade</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Brands like Samsung and Google are vocal about how long you get software and security support for with their phones, but what about the Apple iPhone?                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/iphones-lasts-longer-than-you-think-heres-how-to-know-when-to-upgrade/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I tested 10 USB-C cables with a $45 tester, and a third of them were lying about what they could do</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/21#auto___i_tested_10_usb_c_cables_with_a__45_tester__and_a_third_of_them_were_lying_about_what_they_could_do</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Not all cables can be trusted.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/i-tested-10-usb-c-cables-with-a-tester-third-of-them-were-lying-about-what-they-could-do/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>What Amazon must do to get its stumbling stock back to record highs and beyond</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/21#auto___what_amazon_must_do_to_get_its_stumbling_stock_back_to_record_highs_and_beyond</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The performance of Amazon Web Services is the key.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/investingclub/2026/10/20/what-amazon-must-do-to-get-its-stumbling-stock-back-to-record-highs-and-beyond.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Car buyers are demanding lower prices and better tech. Automakers must deliver both</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/21#auto___car_buyers_are_demanding_lower_prices_and_better_tech__automakers_must_deliver_both</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bain says tech leads purchase considerations in China while price remains No. 1 in the U.S. and Europe, as pressure mounts on Western carmakers.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/20/car-buyers-china-tech-price-europe.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Australian data center operator NextDC's shares plunge 40% after it slashes earnings forecast</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/21#auto___australian_data_center_operator_nextdc_s_shares_plunge_40__after_it_slashes_earnings_forecast</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The company cited power supply delays at its Melbourne facility amid local community and stakeholder opposition for lowering earnings forecast.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/21/australia-data-center-operator-nexdc-datacenter.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>'Open your doors for AI': German chancellor urges businesses to embrace AI as Nvidia announces new investments</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/20#auto____open_your_doors_for_ai___german_chancellor_urges_businesses_to_embrace_ai_as_nvidia_announces_new_investments</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nvidia announced planned investments in four German startups as Chancellor Friedrich Merz urged businesses to embrace AI at an industry summit in Berlin.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/20/german-chancellor-urges-businesses-to-embrace-ai.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I used an old tablet to finally understand how GPS works</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/20#auto___i_used_an_old_tablet_to_finally_understand_how_gps_works</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            A stellar e-waste find let me watch satellite signals, clock errors, and see how GPS works in real time                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/i-used-an-old-tablet-to-finally-understand-how-gps-works/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Jim Cramer says don't chase the AI rebound just yet. Here's what needs to happen first</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/20#auto___jim_cramer_says_don_t_chase_the_ai_rebound_just_yet__here_s_what_needs_to_happen_first</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer warned investors against rushing back into AI stocks quite yet.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/19/jim-cramer-dont-chase-ai-rebound-yet.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Perplexity has an open-source alternative now, and I'm hooked</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/20#auto___perplexity_has_an_open_source_alternative_now__and_i_m_hooked</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Perplexity has some competition                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/perplexity-has-an-open-source-alternative-now-and-im-hooked/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>This notes app made me realize why my Notion research always felt so fragmented</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/20#auto___this_notes_app_made_me_realize_why_my_notion_research_always_felt_so_fragmented</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            I found a better way to connect scattered notes and make sense of complex research.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/heptabase-made-me-realize-why-notion-research-always-fragmented/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Jim Cramer says the recent AI stock sell-off echoes a crucial lesson from the 1987 market crash</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/20#auto___jim_cramer_says_the_recent_ai_stock_sell_off_echoes_a_crucial_lesson_from_the_1987_market_crash</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said the 1987 stock market crash offers an important lesson that can be applied to the recent AI sell-off.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/19/cramer-recent-ai-sell-off-echoes-lesson-1987-crash.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>China's CXMT sees shares drop over 6% as investors look past chipmaker's profit turnaround </title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/19#auto___china_s_cxmt_sees_shares_drop_over_6__as_investors_look_past_chipmaker_s_profit_turnaround</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CXMT shares fell over 6% on Monday after the company released its earnings forecast for the first nine months of 2026.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/19/china-cxmt-profit-outlook-shares.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>New screen technology fixes the biggest issue with color e-readers</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/19#auto___new_screen_technology_fixes_the_biggest_issue_with_color_e_readers</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Color e-ink arrives with crisper 300 PPI color, 15% whiter whites and a 50% contrast boost for readable images.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/new-e-ink-technology-fixes-the-biggest-issue-with-color-e-readers/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Always on, always listening: New AI devices are pushing legal limits and could put users in jeopardy</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/19#auto___always_on__always_listening__new_ai_devices_are_pushing_legal_limits_and_could_put_users_in_jeopardy</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AI always-listening wearables from Apple, Amazon, Meta and other startups are getting creative with privacy rules and fueling concerns about covert recordings.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/18/ai-wearables-privacy-wiretap-laws.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>6 Android apps that turn your phone into an offline survival kit</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/19#auto___6_android_apps_that_turn_your_phone_into_an_offline_survival_kit</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            You can turned your app drawer into a tiny emergency backpack.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/android-apps-for-offline-emergencies/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>DLSS 5 made The Witcher 3 look more remastered than the remaster</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/19#auto___dlss_5_made_the_witcher_3_look_more_remastered_than_the_remaster</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Better lighting, but at a high cost.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/dlss-5-made-the-witcher-3-look-more-remastered-than-the-remaster/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>The $27 tool that should touch every outlet before your screwdriver does</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/18#auto___the__27_tool_that_should_touch_every_outlet_before_your_screwdriver_does</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Use this electrical safety device first before you touch any wiring in your home DIY project.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/tool-that-should-touch-outlets-before-screwdriver/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Only one major phone maker won't let you turn off battery throttling</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/18#auto___only_one_major_phone_maker_won_t_let_you_turn_off_battery_throttling</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Battery health, forced.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/battery-throttling-forced-for-google-pixel/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>AI stocks plunge. Inflation heats up. Where we're still finding opportunities</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/18#auto___ai_stocks_plunge__inflation_heats_up__where_we_re_still_finding_opportunities</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The sinking AI trade rattled last week's market. But solid bank earnings and a rotation beyond tech gave us reasons for optimism.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/investingclub/2026/10/17/ai-stocks-plunge-inflation-heats-up-where-were-still-finding-opportunities.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Software's new consolidator gets big vote of confidence from Berkshire</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/18#auto___software_s_new_consolidator_gets_big_vote_of_confidence_from_berkshire</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Less than four months into life as a public company, Bending Spoons got a big vote of confidence this week from Berkshire Hathaway.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/17/bending-spoons-wants-to-revive-software-castoffs-berkshire-investing.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Adventures in Real-Time MIDI</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/18#auto___adventures_in_real_time_midi</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2 id=&quot;preamble&quot;&gt;Preamble&lt;a class=&quot;heading-anchor&quot; href=&quot;#preamble&quot; aria-label=&quot;Permalink to Preamble&quot;&gt;&lt;/a&gt;&lt;/h2&gt;Since discovering Perl &lt;a href=&quot;https://metacpan.org/pod/MIDI::RtMidi::FFI::Device&quot;&gt;real-time MIDI&lt;/a&gt; and &lt;a href=&quot;https://www.perl.com/article/making-an-asynchronous-clocking-drum-machine-in-perl/&quot;&gt;writing about creating async drums&lt;/a&gt; with it, I&amp;rsquo;ve dug deeper into what&amp;rsquo;s possible. I have a few &lt;a href=&quot;https://metacpan.org/search?size=20&amp;amp;q=music&quot;&gt;music&lt;/a&gt; and &lt;a href=&quot;https://metacpan.org/search?size=20&amp;amp;q=midi&quot;&gt;MIDI&lt;/a&gt; modules on CPAN and like to put them to use in real time, now that I have been enlightened by zen master &lt;a href=&quot;https://metacpan.org/author/JBARRETT&quot;&gt;John Barrett&lt;/a&gt;. Ha :DThis will be a mostly commented-code illustration of real-time arpeggiation. It is maybe &amp;ldquo;just a hobby.&amp;rdquo; But the principles of asynchronous programming, periodic execution of a set of things, are generically applicable to other types of problems.There is no perplexing music theory here: just some terms to know. A &lt;em&gt;note&lt;/em&gt; is a little vector of a &lt;em&gt;pitch&lt;/em&gt; (high or low) and a &lt;em&gt;duration&lt;/em&gt; (long or short). A &lt;em&gt;scale&lt;/em&gt; is a collection of pitches, starting at the &lt;em&gt;tonic&lt;/em&gt;. An &lt;em&gt;octave&lt;/em&gt; is the musical interval between one note and another, where each has the same letter name but twice (or half) its &lt;em&gt;frequency&lt;/em&gt; (in Hertz). A &lt;em&gt;clock&lt;/em&gt; is a &lt;em&gt;MIDI&lt;/em&gt; message sent to a device to keep timing. MIDI stands for &amp;ldquo;musical instrument digital interface&amp;rdquo; and is the beating heart of a lot of digital music. An &lt;em&gt;arpeggio&lt;/em&gt; is usually a chord of the chosen scale, where the notes are played individually in rising or descending order. A &lt;em&gt;chord&lt;/em&gt; is a collection of three or more notes. An arpeggio is played over a given spread or range of &lt;em&gt;beat&lt;/em&gt; durations. A beat is an atom of the &lt;em&gt;rhythm&lt;/em&gt;. The rhythm is the collection of note durations of a phrase. A &lt;em&gt;measure&lt;/em&gt; of musical time is a group of beats  most commonly four. Finally, the term &lt;em&gt;velocity&lt;/em&gt; is equivalent to the volume or loudness of a note. Whew!Anyway, on with the show. (And &lt;a href=&quot;#audio-examples&quot;&gt;audio examples&lt;/a&gt; are at the bottom.)&lt;h2 id=&quot;broad-strokes&quot;&gt;Broad strokes&lt;a class=&quot;heading-anchor&quot; href=&quot;#broad-strokes&quot; aria-label=&quot;Permalink to Broad strokes&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;strong&gt;What this is:&lt;/strong&gt;A generative arpeggiator that runs forever, choosing random scale notes and random arpeggios. This plays them on a MIDI synth, all driven by a MIDI clock.&lt;strong&gt;The core ideas:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;A universe of notes defined by a tonic pitch, a scale name, and a set of octaves&lt;/li&gt;&lt;li&gt;An asynchronous clock engine using a periodic timer to drive events and MIDI messaging&lt;/li&gt;&lt;li&gt;Phrase generation with flexible arpeggio parameters and velocity randomization&lt;/li&gt;&lt;li&gt;Graceful shutdown with all-notes-off/panic being the important part&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Code overview:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Dependency imports&lt;/li&gt;&lt;li&gt;Optional parameters that guide the processing&lt;/li&gt;&lt;li&gt;Internal parameters defining program operation&lt;/li&gt;&lt;li&gt;Cleanup on program halt&lt;/li&gt;&lt;li&gt;Loop and periodic timer&lt;/li&gt;&lt;li&gt;Handy subroutines&lt;/li&gt;&lt;/ul&gt;Basically, this code is all machinery to play things in real time. The actual arpeggiation is pretty simple and happens at the beginning of the &lt;code&gt;trigger_notes()&lt;/code&gt; routine, given the &lt;code&gt;&lt;/code&gt; object.Let&amp;rsquo;s look at each of these in closer detail.&lt;h2 id=&quot;dependency-imports&quot;&gt;Dependency imports&lt;a class=&quot;heading-anchor&quot; href=&quot;#dependency-imports&quot; aria-label=&quot;Permalink to Dependency imports&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre tabindex=&quot;0&quot; style=&quot;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&quot;&gt;&lt;code class=&quot;language-perl&quot; data-lang=&quot;perl&quot;&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;use&lt;/span&gt; v5&lt;span style=&quot;color:#ae81ff&quot;&gt;.36&lt;/span&gt;;                                          &lt;span style=&quot;color:#75715e&quot;&gt;# use a modern Perl&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;use&lt;/span&gt; IO::Async::Loop ();                             &lt;span style=&quot;color:#75715e&quot;&gt;# async&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;use&lt;/span&gt; IO::Async::Timer::Periodic ();                  &lt;span style=&quot;color:#75715e&quot;&gt;# async&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;use&lt;/span&gt; List::Util &lt;span style=&quot;color:#e6db74&quot;&gt;qw(max sum0)&lt;/span&gt;;                        &lt;span style=&quot;color:#75715e&quot;&gt;# duration scaling&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;use&lt;/span&gt; MIDI::RtMidi::Util &lt;span style=&quot;color:#e6db74&quot;&gt;qw(out_port stop_all_notes)&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# rt-midi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;use&lt;/span&gt; Music::MelodicDevice::Arpeggiation ();          &lt;span style=&quot;color:#75715e&quot;&gt;# arpeggios&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;use&lt;/span&gt; Music::Scales &lt;span style=&quot;color:#e6db74&quot;&gt;qw(get_scale_MIDI)&lt;/span&gt;;               &lt;span style=&quot;color:#75715e&quot;&gt;# pitches&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&quot;optional-parameters&quot;&gt;Optional parameters&lt;a class=&quot;heading-anchor&quot; href=&quot;#optional-parameters&quot; aria-label=&quot;Permalink to Optional parameters&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre tabindex=&quot;0&quot; style=&quot;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&quot;&gt;&lt;code class=&quot;language-perl&quot; data-lang=&quot;perl&quot;&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; %opt &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; (&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    port     &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;synth&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#75715e&quot;&gt;# required MIDI device (e.g. microKORG or fluidsynth)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    bpm      &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;80&lt;/span&gt;,      &lt;span style=&quot;color:#75715e&quot;&gt;# beats-per-minute&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    arp_type &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;any&amp;#39;&lt;/span&gt;,   &lt;span style=&quot;color:#75715e&quot;&gt;# &amp;#39;any&amp;#39; or any known to the arp module&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    note_num &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;5,7&amp;#39;&lt;/span&gt;,   &lt;span style=&quot;color:#75715e&quot;&gt;# number of notes to arp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    repeats  &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;,       &lt;span style=&quot;color:#75715e&quot;&gt;# arp repeats before the next one begins&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    spread   &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt;,       &lt;span style=&quot;color:#75715e&quot;&gt;# beats an arp should stretch across&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    octave   &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;3,4,5&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#75715e&quot;&gt;# octaves (0 .. 9)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    tonic    &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;,     &lt;span style=&quot;color:#75715e&quot;&gt;# scale key base note&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    scale    &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;minor&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#75715e&quot;&gt;# scale name as known to Music::Scales&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    program  &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;,       &lt;span style=&quot;color:#75715e&quot;&gt;# synth program&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    channel  &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;,       &lt;span style=&quot;color:#75715e&quot;&gt;# the MIDI channel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&quot;internal-parameters&quot;&gt;Internal parameters&lt;a class=&quot;heading-anchor&quot; href=&quot;#internal-parameters&quot; aria-label=&quot;Permalink to Internal parameters&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre tabindex=&quot;0&quot; style=&quot;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&quot;&gt;&lt;code class=&quot;language-perl&quot; data-lang=&quot;perl&quot;&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# one arpeggiator instance is reused&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; Music::MelodicDevice::Arpeggiation&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;new&lt;/span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    repeats &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; {repeats},&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    verbose &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# used to rescale durations&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; Music::MelodicDevice::Arpeggiation::TICKS();&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# split things&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @octave    &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; split &lt;span style=&quot;color:#e6db74&quot;&gt;/,/&lt;/span&gt;, {octave};&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @note_nums &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; split &lt;span style=&quot;color:#e6db74&quot;&gt;/,/&lt;/span&gt;, {note_num};&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @arp_types &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; {arp_type} &lt;span style=&quot;color:#f92672&quot;&gt;eq&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;any&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    ? keys &lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;arp_type&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;%&lt;span style=&quot;color:#960050;background-color:#1e0010&quot;&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    : split &lt;span style=&quot;color:#e6db74&quot;&gt;/,/&lt;/span&gt;, {arp_type}; &lt;span style=&quot;color:#75715e&quot;&gt;# see the Music::MelodicDevice::Arpeggiation docs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# get full range of pitches by octave&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @pitches &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; map { get_scale_MIDI({tonic}, $_, {scale}) } @octave;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;die &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#34;No pitches for tonic={tonic} scale={scale}\n&amp;#34;&lt;/span&gt; &lt;span style=&quot;color:#66d9ef&quot;&gt;unless&lt;/span&gt; @pitches;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;say &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#34;Arp types: {arp_type}&amp;#34;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;say &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#34;Arp nums: {note_num}&amp;#34;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;say &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#34;Pitches: @pitches&amp;#34;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# we are in 4/4 time...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;        &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# useful factor :)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;*&lt;/span&gt; ; &lt;span style=&quot;color:#75715e&quot;&gt;# PPQN&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;   &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;60&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;/ {bpm} /&lt;/span&gt; ; &lt;span style=&quot;color:#75715e&quot;&gt;# time / bpm / ppqn&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# when spread is falsy, fall back to one bar&amp;#39;s worth of beats&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; {spread} &lt;span style=&quot;color:#f92672&quot;&gt;||&lt;/span&gt; ;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @active;  &lt;span style=&quot;color:#75715e&quot;&gt;# { note =&amp;gt; , off_tick =&amp;gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @pending; &lt;span style=&quot;color:#75715e&quot;&gt;# { note =&amp;gt; , on_tick =&amp;gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;       &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# clock ticks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# beats!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# open the MIDI device for output&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; out_port({port});&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;program_change({channel}, {program});&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;say &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#34;Opened {port}&amp;#34;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&quot;cleanup&quot;&gt;Cleanup&lt;a class=&quot;heading-anchor&quot; href=&quot;#cleanup&quot; aria-label=&quot;Permalink to Cleanup&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre tabindex=&quot;0&quot; style=&quot;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&quot;&gt;&lt;code class=&quot;language-perl&quot; data-lang=&quot;perl&quot;&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# Ctrl-C clean shutdown&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;{INT} &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#66d9ef&quot;&gt;sub&lt;/span&gt; {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    say &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#34;\nStop&amp;#34;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    stop_all_notes(); &lt;span style=&quot;color:#75715e&quot;&gt;# make sure all notes are off&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    exit;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&quot;loop-and-timer&quot;&gt;Loop and timer&lt;a class=&quot;heading-anchor&quot; href=&quot;#loop-and-timer&quot; aria-label=&quot;Permalink to Loop and timer&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre tabindex=&quot;0&quot; style=&quot;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&quot;&gt;&lt;code class=&quot;language-perl&quot; data-lang=&quot;perl&quot;&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# loop object to own and drive all timers/events&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; IO::Async::Loop&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;new&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#75715e&quot;&gt;# drive the whole sequencer  clock out, note off, note on, retrigger&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; IO::Async::Timer::Periodic&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;new&lt;/span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    interval   &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; ,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    reschedule &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;hard&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#75715e&quot;&gt;# anchor to a fixed schedule, don&amp;#39;t let tempo drift&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    on_tick    &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color:#66d9ef&quot;&gt;sub&lt;/span&gt; {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;clock; &lt;span style=&quot;color:#75715e&quot;&gt;# emit a MIDI clock tick&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#f92672&quot;&gt;++&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# advance the master tick counter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# release any notes whose time is up&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; $i (reverse &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;..&lt;/span&gt; $#active) {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            &lt;span style=&quot;color:#75715e&quot;&gt;# iterate in reverse so splice() below doesn&amp;#39;t invalidate remaining indices&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            &lt;span style=&quot;color:#66d9ef&quot;&gt;if&lt;/span&gt; ( &lt;span style=&quot;color:#f92672&quot;&gt;&amp;gt;=&lt;/span&gt; [$i]{off_tick}) {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;                &lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;note_off({channel}, [$i]{note}, &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;                splice @active, $i, &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# remove from the &amp;#34;currently sounding&amp;#34; list&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# align to fire exactly on beat boundaries&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;if&lt;/span&gt; (( &lt;span style=&quot;color:#f92672&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;) % &lt;span style=&quot;color:#960050;background-color:#1e0010&quot;&gt;$&lt;/span&gt;clocks_per_beat &lt;span style=&quot;color:#f92672&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            &lt;span style=&quot;color:#66d9ef&quot;&gt;if&lt;/span&gt; ( % &lt;span style=&quot;color:#960050;background-color:#1e0010&quot;&gt;$&lt;/span&gt;phrase_beats &lt;span style=&quot;color:#f92672&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;) { &lt;span style=&quot;color:#75715e&quot;&gt;# retrigger every &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;                trigger_notes(); &lt;span style=&quot;color:#75715e&quot;&gt;# start a new arp phrase!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            &lt;span style=&quot;color:#f92672&quot;&gt;++&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# only increment on beat boundaries&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# collect every pending note whose start time has arrived&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @ready &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; grep {  &lt;span style=&quot;color:#f92672&quot;&gt;&amp;gt;=&lt;/span&gt; $_&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;{on_tick} } @pending;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# keep the notes still waiting for a future tick&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        @pending  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; grep {  &lt;span style=&quot;color:#f92672&quot;&gt;&amp;lt;&lt;/span&gt;  $_&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;{on_tick} } @pending;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; $p (@ready) {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            &lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;note_on({channel}, $p&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;{note}, velocity(&lt;span style=&quot;color:#f92672&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#ae81ff&quot;&gt;10&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;10&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;110&lt;/span&gt;));&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            &lt;span style=&quot;color:#75715e&quot;&gt;# remember the note, so the release loop above can turn it off at the right tick&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            push @active, { note &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; $p&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;{note}, off_tick &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; $p&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;{off_tick} };&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    },&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;start;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;add();&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;run;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&quot;handy-subroutines&quot;&gt;Handy subroutines&lt;a class=&quot;heading-anchor&quot; href=&quot;#handy-subroutines&quot; aria-label=&quot;Permalink to Handy subroutines&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre tabindex=&quot;0&quot; style=&quot;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&quot;&gt;&lt;code class=&quot;language-perl&quot; data-lang=&quot;perl&quot;&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;sub&lt;/span&gt; &lt;span style=&quot;color:#a6e22e&quot;&gt;trigger_notes&lt;/span&gt; {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#75715e&quot;&gt;# pick a random note count, then that many random pitches, sorted low-to-high for the arpeggiator&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @notes &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; sort { $a &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;lt;=&amp;gt;&lt;/span&gt; $b }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        map { [int rand @pitches] } &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;..&lt;/span&gt; [int rand @note_nums]; &lt;span style=&quot;color:#75715e&quot;&gt;# XXX clunky&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#75715e&quot;&gt;# get an arpeggiated note list given a random arp_type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;arp(&lt;span style=&quot;color:#f92672&quot;&gt;\&lt;/span&gt;@notes, &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;, [int rand @arp_types]);&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#75715e&quot;&gt;# convert from the arp&amp;#39;s 96-ticks-per-quarter-note scale to our clock ticks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; @raw_ticks &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; map {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; () &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; $_&lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;[&lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;] &lt;span style=&quot;color:#f92672&quot;&gt;=~&lt;/span&gt;&lt;span style=&quot;color:#e6db74&quot;&gt; /^d(\d+)$/&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# duration encoded as a string like &amp;#34;d96&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# rescale from the module&amp;#39;s tick resolution to our own clock&amp;#39;s ticks-per-beat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        max(&lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;, int( &lt;span style=&quot;color:#f92672&quot;&gt;*&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;/&lt;/span&gt; ));&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    } @;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;; &lt;span style=&quot;color:#75715e&quot;&gt;# default multiplier: 1 = no rescaling&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;if&lt;/span&gt; ({spread}) {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# total unscaled duration of the arp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; sum0(@raw_ticks) &lt;span style=&quot;color:#f92672&quot;&gt;||&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# convert the desired spread (in beats) into tick units&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; {spread} &lt;span style=&quot;color:#f92672&quot;&gt;*&lt;/span&gt; ;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# factor that stretches or squeezes the arp&amp;#39;s total length to exactly fill the available ticks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;         &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;/&lt;/span&gt; ;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#75715e&quot;&gt;# anchor the first note of this phrase to &amp;#34;right now&amp;#34; of the master clock&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; ;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; $i (&lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;..&lt;/span&gt; $#) {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt; (undef, ) &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; @{ &lt;span style=&quot;color:#f92672&quot;&gt;-&amp;gt;&lt;/span&gt;[$i] }; &lt;span style=&quot;color:#75715e&quot;&gt;# a note is a duration and a pitch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# note&amp;#39;s scaled length, floored at 1 tick&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt; max(&lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;, int([$i] &lt;span style=&quot;color:#f92672&quot;&gt;*&lt;/span&gt; ));&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# schedule the note to be turned on/off&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        push @pending, {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            note     &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; ,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            on_tick  &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt; ,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;            off_tick &lt;span style=&quot;color:#f92672&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;+&lt;/span&gt; ,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        };&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;        &lt;span style=&quot;color:#75715e&quot;&gt;# advance the cursor so the next note in the arp starts right where this one ends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;         &lt;span style=&quot;color:#f92672&quot;&gt;+=&lt;/span&gt; ;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#66d9ef&quot;&gt;sub&lt;/span&gt; &lt;span style=&quot;color:#a6e22e&quot;&gt;velocity&lt;/span&gt; (00, , ) {&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#75715e&quot;&gt;# generate a randomized velocity within [min+offset, max+offset]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;my&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;=&lt;/span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;+&lt;/span&gt; int(rand( &lt;span style=&quot;color:#f92672&quot;&gt;-&lt;/span&gt; 00 &lt;span style=&quot;color:#f92672&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt;)) &lt;span style=&quot;color:#f92672&quot;&gt;+&lt;/span&gt; 00;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;    &lt;span style=&quot;color:#66d9ef&quot;&gt;return&lt;/span&gt; ;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;A superior implementation would use the &lt;a href=&quot;https://metacpan.org/pod/Getopt::Long&quot;&gt;Getopt::Long&lt;/a&gt; module to parse command-line arguments. Hint, hint. ;)&lt;h2 id=&quot;audio-examples&quot;&gt;Audio examples&lt;a class=&quot;heading-anchor&quot; href=&quot;#audio-examples&quot; aria-label=&quot;Permalink to Audio examples&quot;&gt;&lt;/a&gt;&lt;/h2&gt;This is the General MIDI piano played with &lt;a href=&quot;https://www.fluidsynth.org/&quot;&gt;fluidsynth&lt;/a&gt;:&lt;audio controls&gt;  &lt;source src=&quot;https://www.perl.com/media/adventures-in-real-time-midi/example-5.mp3&quot; type=&quot;audio/mpeg&quot;&gt;  Your browser does not support the audio element.&lt;/audio&gt;Not terribly exciting, yet.The following were recorded with my &lt;a href=&quot;https://www.korg.com/us/products/synthesizers/microkorg/&quot;&gt;microKORG&lt;/a&gt; synthesizer. But any MIDI-capable synth will do!This one sounds like an arcade. It repeats the arp twice:&lt;audio controls&gt;  &lt;source src=&quot;https://www.perl.com/media/adventures-in-real-time-midi/example-4.mp3&quot; type=&quot;audio/mpeg&quot;&gt;  Your browser does not support the audio element.&lt;/audio&gt;With an old-school sound and an already arpeggiated synth patch:&lt;audio controls&gt;  &lt;source src=&quot;https://www.perl.com/media/adventures-in-real-time-midi/example-1.mp3&quot; type=&quot;audio/mpeg&quot;&gt;  Your browser does not support the audio element.&lt;/audio&gt;Here is another:&lt;audio controls&gt;  &lt;source src=&quot;https://www.perl.com/media/adventures-in-real-time-midi/example-2.mp3&quot; type=&quot;audio/mpeg&quot;&gt;  Your browser does not support the audio element.&lt;/audio&gt;OK. How about an ethereal pad arping in slow motion?&lt;audio controls&gt;  &lt;source src=&quot;https://www.perl.com/media/adventures-in-real-time-midi/example-3.mp3&quot; type=&quot;audio/mpeg&quot;&gt;  Your browser does not support the audio element.&lt;/audio&gt;~And here is an example of the verbose console output that is produced:&lt;div class=&quot;highlight&quot;&gt;&lt;pre tabindex=&quot;0&quot; style=&quot;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&quot;&gt;&lt;code class=&quot;language-shell&quot; data-lang=&quot;shell&quot;&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&amp;gt; perl perl.com/arpeggios.pl&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp types: any&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp nums: 5,7&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Pitches: &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;52&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;53&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;55&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;57&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;59&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;60&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;62&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;64&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;67&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;69&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;71&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;72&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;74&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;79&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;81&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;83&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Opened midimate on program &lt;span style=&quot;color:#ae81ff&quot;&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Repeat: 1, Type: pedal_down, Pattern: &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;5&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Ticks: 96, Duration: &lt;span style=&quot;color:#ae81ff&quot;&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp: &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;67&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;53&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;52&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Repeat: 1, Type: pedal_up, Pattern: &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;5&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Ticks: 96, Duration: &lt;span style=&quot;color:#ae81ff&quot;&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp: &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;53&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;53&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;72&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;72&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d8&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Repeat: 1, Type: down, Pattern: &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Ticks: 96, Duration: &lt;span style=&quot;color:#ae81ff&quot;&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp: &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;77&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;67&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;50&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Repeat: 1, Type: down, Pattern: &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Ticks: 96, Duration: &lt;span style=&quot;color:#ae81ff&quot;&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp: &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;81&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;62&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;57&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;55&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Repeat: 1, Type: pedal_updown, Pattern: &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;5&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;5&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Ticks: 96, Duration: &lt;span style=&quot;color:#ae81ff&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp: &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;60&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;64&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;67&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;71&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;71&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;67&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;64&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;  &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;60&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;76&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d4&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Repeat: 1, Type: random, Pattern: &lt;span style=&quot;color:#ae81ff&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color:#ae81ff&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Ticks: 96, Duration: &lt;span style=&quot;color:#ae81ff&quot;&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Arp: &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;52&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;65&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;59&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;, &lt;span style=&quot;color:#f92672&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color:#e6db74&quot;&gt;&amp;#39;d19&amp;#39;&lt;/span&gt;, &lt;span style=&quot;color:#ae81ff&quot;&gt;59&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color:#f92672&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;^C&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display:flex;&quot;&gt;&lt;span&gt;Stop&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;The port that is opened is my MIDI interface to the microKORG, which is partly named &lt;code&gt;midimate&lt;/code&gt;. It is worth pointing out that the &lt;code&gt;out_port()&lt;/code&gt; function uses case-insensitive substrings/regexes to match MIDI device names.&lt;h2 id=&quot;conclusions&quot;&gt;Conclusions&lt;a class=&quot;heading-anchor&quot; href=&quot;#conclusions&quot; aria-label=&quot;Permalink to Conclusions&quot;&gt;&lt;/a&gt;&lt;/h2&gt;You too can make MIDI music in real-time! And arpeggios are a highly useful technique for &amp;ldquo;filling the silence.&amp;rdquo;Timing events with async code takes quite a bit of logic. And &lt;code&gt;sleep&lt;/code&gt;ing is &lt;strong&gt;not&lt;/strong&gt; an option.These techniques have wider usefulness. Knowledge of event systems is essential for programming graphical and interactive applications, high-concurrency network services, simulations, &lt;code&gt;&lt;/code&gt;, and more! :-)&lt;h2 id=&quot;resources&quot;&gt;Resources&lt;a class=&quot;heading-anchor&quot; href=&quot;#resources&quot; aria-label=&quot;Permalink to Resources&quot;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://metacpan.org/pod/IO::Async::Loop&quot;&gt;IO::Async::Loop&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://metacpan.org/pod/IO::Async::Timer::Periodic&quot;&gt;IO::Async::Timer::Periodic&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://metacpan.org/pod/List::Util&quot;&gt;List::Util&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://metacpan.org/pod/MIDI::RtMidi::FFI::Device&quot;&gt;MIDI::RtMidi::FFI::Device&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://metacpan.org/pod/MIDI::RtMidi::Util&quot;&gt;MIDI::RtMidi::Util&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://metacpan.org/pod/Music::MelodicDevice::Arpeggiation&quot;&gt;Music::MelodicDevice::Arpeggiation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://metacpan.org/pod/Music::Scales&quot;&gt;Music::Scales&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The code for this article: &lt;a href=&quot;https://github.com/ology/Music/blob/master/perl.com/arpeggios.pl&quot;&gt;arpeggios.pl&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The more complete and musical version: &lt;a href=&quot;https://github.com/ology/Music/blob/master/arping.pl&quot;&gt;arping.pl&lt;/a&gt;&lt;/li&gt;&lt;li&gt;My original music is at &lt;a href=&quot;https://geneboggs.bandcamp.com/&quot;&gt;https://geneboggs.bandcamp.com/&lt;/a&gt; and &lt;a href=&quot;https://www.youtube.com/@GeneBoggs&quot;&gt;https://www.youtube.com/@GeneBoggs&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.perl.com/article/adventures-in-real-time-midi/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Some companies give AI to everyone. This CEO is doing the opposite</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/18#auto___some_companies_give_ai_to_everyone__this_ceo_is_doing_the_opposite</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Paysend CEO Ben Chisell limits AI tools to top performers as other U.K. companies push broader workplace rollouts.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/17/ai-workplace-tokenmaxxing-paysend.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I changed what happens when I tap a link on Android and there's no reason to do it the old way anymore</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/18#auto___i_changed_what_happens_when_i_tap_a_link_on_android_and_there_s_no_reason_to_do_it_the_old_way_anymore</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Now I look inside a link before it opens.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/changed-what-happens-when-i-tap-link-on-android/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Trump says White House didn't order Starlink restrictions in Ukraine</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/17#auto___trump_says_white_house_didn_t_order_starlink_restrictions_in_ukraine</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ukrainian officials complained this week that SpaceX had limited internet connectivity without advance notice.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/16/trump-denies-musk-claim-he-ordered-starlink-restrictions-in-ukraine.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Before you change anything else on your smart TV, check these settings</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/17#auto___before_you_change_anything_else_on_your_smart_tv__check_these_settings</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Your smart TV might not be set up for the best viewing experience right out of the box.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/before-you-change-anything-else-on-your-smart-tv-check-these-settings/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Chrome has hidden pages that reveal who's really in charge of your browser</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/17#auto___chrome_has_hidden_pages_that_reveal_who_s_really_in_charge_of_your_browser</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            No admin, no policies, but Google was still adjusting my Chrome.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/chrome-has-hidden-pages-that-reveal-whos-really-in-charge-of-your-browser/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>5 Android Auto apps that save you money every time you drive</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/17#auto___5_android_auto_apps_that_save_you_money_every_time_you_drive</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Free apps that save your money                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/5-android-auto-apps-that-save-you-money-every-time-you-drive/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>5 midterm money takeaways: Democrats have candidate cash. Republicans have Elon Musk</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/17#auto___5_midterm_money_takeaways__democrats_have_candidate_cash__republicans_have_elon_musk</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Democrats outraise Republicans in key Congress races as Elon Musk funds Ken Paxton in Texas and GOP groups aligned with Trump.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/16/midterm-election-fundraising-elon-musk.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Apple's $1,999 iPhone Duo puts the company's status-symbol power to the test</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/17#auto___apple_s__1_999_iphone_duo_puts_the_company_s_status_symbol_power_to_the_test</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apple's $1,999 iPhone Duo is drawing early demand as analysts assess whether the foldable can lift iPhone pricing and revenue.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/16/apple-iphone-duo-demand-price.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I found a much better way to use my Android phone from Windows than Phone Link</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/16#auto___i_found_a_much_better_way_to_use_my_android_phone_from_windows_than_phone_link</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My mouse and keyboard got promoted to phone duty.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/use-android-from-windows-with-scrcpy/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Elon Musk helps GOP Senate super PAC raise record $273 million</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/16#auto___elon_musk_helps_gop_senate_super_pac_raise_record__273_million</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Elon Musk gave a record $158 million to the GOP's Senate Leadership Fund, boosting its war chest as Republicans pour money into Texas to defend Ken Paxton.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/15/elon-musk-senate-leadership-fund-fundraising.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Anthropic taps nonprofits METR and SecureBio to help assess risks and safety practices</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/16#auto___anthropic_taps_nonprofits_metr_and_securebio_to_help_assess_risks_and_safety_practices</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The company is also engaged in early-stage discussions with other organizations, including Hugging Face.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/15/anthropic-metr-securebio-ai-safety-evaluators.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>My RTX GPU was the best microphone upgrade I never bought</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/16#auto___my_rtx_gpu_was_the_best_microphone_upgrade_i_never_bought</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            A free AI tool turned my cheap mic into studio-clean audio, saving me $100.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/rtx-gpu-ai-noise-removal-microphone/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I made Gemini Notebook argue with procrastination experts, and it found real gaps</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/16#auto___i_made_gemini_notebook_argue_with_procrastination_experts__and_it_found_real_gaps</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            I turned expert disagreements into a smarter way to tackle procrastination.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/gemini-notebook-compare-experts/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Jim Cramer says this week's AI sell-off offers a crucial lesson for investors</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/16#auto___jim_cramer_says_this_week_s_ai_sell_off_offers_a_crucial_lesson_for_investors</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said Thursday's AI sell-off underscores the importance of owning stocks outside the market's hottest trade.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/15/jim-cramer-ai-stocks-diversification.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I disabled these phone features, and Android Auto stopped draining my battery so fast</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/15#auto___i_disabled_these_phone_features__and_android_auto_stopped_draining_my_battery_so_fast</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            A wired connection beat every other fix, even if it's less convenient.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/android-auto-battery-drain-fix/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>These 4 free apps make an old PC worth leaving on</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/15#auto___these_4_free_apps_make_an_old_pc_worth_leaving_on</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Your old PC is too slow for Chrome but perfect for self-hosting.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/4-free-apps-old-pc-worth-leaving-on/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>My offline music library finally has Spotify-style lyrics, without Spotify</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/15#auto___my_offline_music_library_finally_has_spotify_style_lyrics__without_spotify</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My local MP3s has now learned how to karaoke.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/add-synced-lyrics-to-offline-music-with-lrcget/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>SK Hynix shares plunge 10% amid Asia tech rout as Fed rate hike fears, AI funding worries mount</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/15#auto___sk_hynix_shares_plunge_10__amid_asia_tech_rout_as_fed_rate_hike_fears__ai_funding_worries_mount</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A sell-off in global technology hardware stocks deepened Thursday.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/15/sk-hynix-samsung-softbank-stocks-asia-tech-rout-ai-funding-worries.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Anthropic's third-quarter revenue is said to hit $16.8 billion ahead of IPO </title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/15#auto___anthropic_s_third_quarter_revenue_is_said_to_hit__16_8_billion_ahead_of_ipo</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anthropic reports third-quarter stands at $16.8 billion ahead of its IPO.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/15/anthropics-third-quarter-revenue-hits-16point8-billion-ipo.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Jim Cramer says don't give up on this unpredictable market. Here's why</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/15#auto___jim_cramer_says_don_t_give_up_on_this_unpredictable_market__here_s_why</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Despite an unpredictable market, CNBC's Jim Cramer says it's important to stay invested.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/14/cramer-stock-market-selloff-inflation.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Google Photos' most annoying issue finally has a fix</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/14#auto___google_photos__most_annoying_issue_finally_has_a_fix</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            A Chrome app scans your Google or iCloud library locally, grouping exact matches, nearduplicates and burst shots for review.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/google-photos-most-annoying-issue-finally-has-a-fix/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Here's where Jim Cramer stands on this newly public AI infrastructure stock</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/14#auto___here_s_where_jim_cramer_stands_on_this_newly_public_ai_infrastructure_stock</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said investors should hold off on buying newly public AI infrastructure company Accelevation Holdings.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/13/jim-cramer-accelevation-stock.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Popular Microsoft app is retired after 35 years, here's what to do with your files now</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/14#auto___popular_microsoft_app_is_retired_after_35_years__here_s_what_to_do_with_your_files_now</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            File rescue starts with PDF exports from old installs, then move layouts into Word, PowerPoint or InDesign.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/popular-microsoft-app-is-retired-after-35-years-heres-what-to-do-with-your-files-now/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Anthropic urges court in Washington, D.C. to rehear appeal of Pentagon blacklisting </title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/14#auto___anthropic_urges_court_in_washington__d_c__to_rehear_appeal_of_pentagon_blacklisting</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anthropic is asking a federal court in Washington, D.C. to rehear its appeal in a case concerning the Pentagon's blacklisting of the company's AI models.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/13/anthropic-wants-court-in-dc-to-rehear-appeal-of-pentagon-blacklist-.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I put all my daily feeds and server stats on one page, and now I barely open anything else</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/14#auto___i_put_all_my_daily_feeds_and_server_stats_on_one_page__and_now_i_barely_open_anything_else</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My browser went from tab hoarder to dashboard minimalist.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/glance-dashboard-for-feeds-and-server-stats/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Jim Cramer isn't giving up on semiconductor stocks despite the sell off. Here's why</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/14#auto___jim_cramer_isn_t_giving_up_on_semiconductor_stocks_despite_the_sell_off__here_s_why</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said investors shouldn't give up on semiconductor stocks despite the recent sell-off.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/13/jim-cramer-semiconductor-stocks-sell-off.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I swapped 5 built-in Windows apps for open-source ones for a month, and only 3 survived</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/13#auto___i_swapped_5_built_in_windows_apps_for_open_source_ones_for_a_month__and_only_3_survived</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Open source got five job interviews and Microsoft still won two of them.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/open-source-alternatives-to-built-in-windows-apps/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>IMF warns bond yields could see a 'disorderly' spike as debt, inflation risks worsen</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/13#auto___imf_warns_bond_yields_could_see_a__disorderly__spike_as_debt__inflation_risks_worsen</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The IMF says risks in the government bond market have worsened and that yields could jump sharply and disorderly.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/13/treasury-yields-imf-debt-inflation-.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Google Maps remembers more about your life than you probably realize</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/13#auto___google_maps_remembers_more_about_your_life_than_you_probably_realize</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Google Maps can be storing years of your data without you even knowing about; here's how to check.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/google-maps-remembers-tons/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Jim Cramer says the bull market's remarkable 4-year run offers a crucial lesson for investors</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/13#auto___jim_cramer_says_the_bull_market_s_remarkable_4_year_run_offers_a_crucial_lesson_for_investors</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said the market's incredible four-year run shows why investors should stay invested rather than trying to time the market.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/12/cramer-sp-500-bull-market-stay-invested.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Google's Dreambeans finds stories on its own, and it's the first AI app I want to keep</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/13#auto___google_s_dreambeans_finds_stories_on_its_own__and_it_s_the_first_ai_app_i_want_to_keep</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Dreambeans finds the information I miss.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/google-dreambeans-app-ai-want-to-use/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>SK Hynix, SoftBank shares plunge as tech stocks in Asia track Wall Street chip sell-off</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/13#auto___sk_hynix__softbank_shares_plunge_as_tech_stocks_in_asia_track_wall_street_chip_sell_off</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Asian technology stocks tumbled Tuesday as a sell-off in U.S. semiconductor shares spilled into regional markets.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/13/sk-hynix-softbank-samsung-electronics-shares-tech-stocks-fall.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>AI may change the price of your Big Mac and groceries  what this means for shoppers</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/12#auto___ai_may_change_the_price_of_your_big_mac_and_groceries___what_this_means_for_shoppers</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As retailers turn to AI tools to streamline operations, experts warn that collecting more detailed consumer data increases the risk of personalized pricing.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/11/ai-dynamic-pricing-shoppers-groceries.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>KDE Plasma 6.8 finally adds easy backups, so I ran the beta to see if it's ready</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/12#auto___kde_plasma_6_8_finally_adds_easy_backups__so_i_ran_the_beta_to_see_if_it_s_ready</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            A thirty-year anniversary special.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/kde-plasma-68-finally-adds-easy-backups-so-i-ran-the-beta-to-see-if-its-ready/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>8 Netflix thrillers where knowing less makes the movie much better</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/12#auto___8_netflix_thrillers_where_knowing_less_makes_the_movie_much_better</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            These Netflix thrillers are best watched with as little information as possible                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/netflix-thrillers-where-knowing-less-makes-the-movie-much-better/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>AI's quiet safety gatekeepers are stepping into the spotlight</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/12#auto___ai_s_quiet_safety_gatekeepers_are_stepping_into_the_spotlight</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The intensifying AI safety debate is bringing a small group of third-party evaluators into the center of a multitrillion-dollar industry.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/11/ais-quiet-safety-gatekeepers-are-stepping-into-the-spotlight.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>AI is automating coding. So why are software developer job postings on the rise?</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/12#auto___ai_is_automating_coding__so_why_are_software_developer_job_postings_on_the_rise_</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Software developer job postings are rebounding, led by senior and AI-focused roles, even as AI automates more coding and entry-level hiring weakens.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/11/ai-software-developer-jobs.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>My Windows PC locks itself when I walk away, and I didn't install a thing to make it happen</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/12#auto___my_windows_pc_locks_itself_when_i_walk_away__and_i_didn_t_install_a_thing_to_make_it_happen</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Your PC can tell when you've walked away from it, and all it needs to figure that out is the phone in your pocket                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/my-windows-pc-locks-itself-when-i-walk-away-and-i-didnt-install-a-thing-to-make-it-happen/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>The number that says a hard drive is too old isn't its age, it's this</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/11#auto___the_number_that_says_a_hard_drive_is_too_old_isn_t_its_age__it_s_this</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Nearly 20,000 hours in, my HDD's best health clue was elsewhere.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/the-number-that-says-a-hard-drive-is-too-old-isnt-its-age-its-this/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Microsoft's Nadella says AI needs an 'emergency brake' that humans control</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/11#auto___microsoft_s_nadella_says_ai_needs_an__emergency_brake__that_humans_control</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nadella joined other tech moguls and researchers in calling for stronger safeguards and, in some cases, for the pacing of frontier development.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/10/microsoft-satya-nadella-ai-emergency-brake-safety.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>How de-extincting dire wolves and woolly mammoths may extend human life</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/11#auto___how_de_extincting_dire_wolves_and_woolly_mammoths_may_extend_human_life</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Colossal Biosciences CEO Ben Lamm says bringing extinct species back can contribute to conservation, healthcare and developmental biology.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/10/de-extincting-dire-wolves-woolly-mammoths-help-humans.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Google is locking down Android sideloading, so I tested its escape hatch</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/11#auto___google_is_locking_down_android_sideloading__so_i_tested_its_escape_hatch</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Google forced me to wait 24 hours to enable one setting on my Android, then I tried sideloading apps three different ways                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/google-is-locking-down-android-sideloading-so-i-tested-its-escape-hatch/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>My watch caught something about my power tools I'd been ignoring for years</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/11#auto___my_watch_caught_something_about_my_power_tools_i_d_been_ignoring_for_years</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My Apple Watch gave me a great tip while I was using my loud power tools.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/watch-caught-something-about-power-i-ignored-for-years/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Stocks saw new highs and big declines: How the volatile AI trade moved last week's market</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/11#auto___stocks_saw_new_highs_and_big_declines__how_the_volatile_ai_trade_moved_last_week_s_market</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Looking to balance out our AI exposure, we put more of our sizable cash pile to work.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/investingclub/2026/10/10/stocks-saw-new-highs-and-big-declines-how-the-volatile-ai-trade-moved-last-weeks-market.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>This faster router setting can make everyone's Wi-Fi worse</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/10#auto___this__faster__router_setting_can_make_everyone_s_wi_fi_worse</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            A bigger number on paper can cost reliability on crowded bands.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/this-faster-router-setting-can-make-everyones-wi-fi-worse/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Tesla drops 'Full Self-Driving' brand name in Europe after regulator pushback</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/10#auto___tesla_drops__full_self_driving__brand_name_in_europe_after_regulator_pushback</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;German regulators called Tesla's &quot;Full Self-Driving&quot; brand name &quot;somewhat misleading.&quot;&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/09/tesla-full-self-driving-europe-regulator.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I tried a dozen Linux distros in my browser without installing a single one</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/10#auto___i_tried_a_dozen_linux_distros_in_my_browser_without_installing_a_single_one</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            DistroSea let me explore familiar desktops and obscure alternatives without downloading a single ISO                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/i-tried-linux-distros-in-my-browser-without-installing-a-single-one/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Verizon posts worst day since 2002 as SpaceX U.S. network plans whack cell provider stocks</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/10#auto___verizon_posts_worst_day_since_2002_as_spacex_u_s__network_plans_whack_cell_provider_stocks</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SpaceX announced the spectrum deal Thursday, as the company aims to push deeper into the telecom market through its Starlink service.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/09/verizon-att-tmobile-stocks-spacex-network.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Find Hub found my phone, but the feature I needed never warned me it failed</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/10#auto___find_hub_found_my_phone__but_the_feature_i_needed_never_warned_me_it_failed</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Queuing the command is fine, but Find Hub should specifically tell you that's what it's doing.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/find-hub-found-my-phone-but-the-feature-i-needed-never-warned-me-it-failed/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Cramer's week ahead: Earnings kick off as banks and chipmakers face big tests</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/10#auto___cramer_s_week_ahead__earnings_kick_off_as_banks_and_chipmakers_face_big_tests</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said next week's earnings reports will give investors a clearer picture of corporate performance and the strength of the AI trade.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/09/jim-cramer-week-ahead-bank-earnings-ai-chips.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>These 6 shortcuts have transformed how I use my Android phone</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/09#auto___these_6_shortcuts_have_transformed_how_i_use_my_android_phone</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            These shortcuts skip the app tray entirely                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/6-android-shortcuts-to-avoid-opening-apps/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Nvidia-backed Aussie AI firm Firmus withdraws historic IPO, citing market volatility</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/09#auto___nvidia_backed_aussie_ai_firm_firmus_withdraws_historic_ipo__citing_market_volatility</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nvidia-backed Australian AI data center operator Firmus has withdrawn its planned IPO amid market volatility.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/09/nvidia-ai-firmus-ipo-.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>You don't have to pay more for Milwaukee's higher end battery packs</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/09#auto___you_don_t_have_to_pay_more_for_milwaukee_s_higher_end_battery_packs</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            You'll get plenty out of what you have.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/milwaukee-battery-packs-redlithium/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I replaced Files by Google with an uglier app, and I'm not going back</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/09#auto___i_replaced_files_by_google_with_an_uglier_app__and_i_m_not_going_back</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Dual panes, NAS access, and WiFi transfers beat a pretty interface every time.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/files-by-google-alternative-android/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Tokenization could unleash tens of billions of dollars in trapped capital, Nasdaq CEO says</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/09#auto___tokenization_could_unleash_tens_of_billions_of_dollars_in_trapped_capital__nasdaq_ceo_says</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nasdaq CEO Adena Friedman said tokenization could free up tens of billions of dollars in trapped capital.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/09/nasdaq-ceo-tokenization-could-unleash-billions-in-trapped-capital-.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Cramer says Thursday's AI sell-off proves the value of this age-old investing strategy</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/09#auto___cramer_says_thursday_s_ai_sell_off_proves_the_value_of_this_age_old_investing_strategy</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said Thursday's sell-off in AI stocks underscores the importance of diversification, even when it means holding stocks that have struggled.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/08/jim-cramer-diversification-ai-selloff.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>These Ryobi tools pay for themselves the first time you use them</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/08#auto___these_ryobi_tools_pay_for_themselves_the_first_time_you_use_them</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            You can't get a better ROI on power tools than these top options from Ryobi.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/ryobi-tools-pay-for-themselves/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I replaced 7-Zip with the version that actually looks like it belongs on Windows 11</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/08#auto___i_replaced_7_zip_with_the_version_that_actually_looks_like_it_belongs_on_windows_11</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My ZIP files are still boring but at least the app opening them isn't.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/nanazip-modern-7zip-alternative-for-windows-11/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Gemini finally caught up to the one Claude and ChatGPT feature I use constantly</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/08#auto___gemini_finally_caught_up_to_the_one_claude_and_chatgpt_feature_i_use_constantly</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Turns out Gemini is saying goodbye to Gems, and it may not be a bad thing after all.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/gemini-finally-has-skills-and-they-are-way-better-than-gems-ever-were/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Anthropic will be 'most ridiculous IPO' of year, analyst says</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/08#auto___anthropic_will_be__most_ridiculous_ipo__of_year__analyst_says</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anthropic reportedly plans to list on the Nasdaq before Thanksgiving, and one bearish advisory firm suggests that investors sit this one out.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/07/anthropic-will-be-most-ridiculous-ipo-of-year-analyst-says.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Elon Musk blames Indian 'oligarchs' for stalling Starlink launch </title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/08#auto___elon_musk_blames_indian__oligarchs__for_stalling_starlink_launch</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Space X founder Elon Musk accused oligarchs in India of keeping Starlink out of the country to protect their monopoly over consumers.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/08/elon-musk-starlink-spacex-jio-airtel-india.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Samsung forecasts record third-quarter profit of $80 billion as AI boom fuels chip demand</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/08#auto___samsung_forecasts_record_third_quarter_profit_of__80_billion_as_ai_boom_fuels_chip_demand</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Samsung Electronics reported preliminary third-quarter earnings on Thursday, with operating profit forecast to top 100 trillion won for the first time.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/08/samsung-q3-earnings.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I stopped using Task Manager after finding System Informer's hidden troubleshooting powers</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/07#auto___i_stopped_using_task_manager_after_finding_system_informer_s_hidden_troubleshooting_powers</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            When Windows starts acting strangely, this free tool helps me find the culprit faster.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/why-i-choose-system-informer-over-task-manager/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I didn't realize Windows could tell me this much about my SSD</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/07#auto___i_didn_t_realize_windows_could_tell_me_this_much_about_my_ssd</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Three numbers in Settings could save you from a surprise drive failure.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/i-didnt-realize-windows-could-tell-me-this-much-about-my-ssd/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I built the Android privacy setup Google doesn't give you out of the box</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/07#auto___i_built_the_android_privacy_setup_google_doesn_t_give_you_out_of_the_box</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            You can take matters in your own hands                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/i-built-the-android-privacy-setup-google-doesnt-give-you-out-of-the-box/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Trillions are being 'wasted' on the AI boom, Arthur Hayes says. He's betting on what comes next</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/07#auto___trillions_are_being__wasted__on_the_ai_boom__arthur_hayes_says__he_s_betting_on_what_comes_next</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Former BitMEX CEO Arthur Hayes says the AI infrastructure boom is being overbuilt and is betting an eventual crash and bailout will send crypto higher.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/07/flop-ai-boom-arthur-hayes-bitcoin-bitmex-coinferencex-.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Cramer says these blue-chip stocks are among the best ways to invest in the AI boom</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/07#auto___cramer_says_these_blue_chip_stocks_are_among_the_best_ways_to_invest_in_the_ai_boom</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jim Cramer said established tech giants with strong businesses and multiple ways to benefit from AI are some of the best places to invest in the boom.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/06/jim-cramer-ai-stocks.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Meta joins with group of companies to tame 'chaos' of doing business with AI bots</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/07#auto___meta_joins_with_group_of_companies_to_tame__chaos__of_doing_business_with_ai_bots</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Meta and OpenAI Chairman Bret Taylor's startup Sierra are building a set of tech standards to make it easier to do business with AI bots.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/06/meta-joins-companies-to-tame-chaos-of-doing-business-with-ai-bots.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Stocks are hitting records despite surging yields. Cramer explains why</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/06#auto___stocks_are_hitting_records_despite_surging_yields__cramer_explains_why</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CNBC's Jim Cramer said Nvidia, Microsoft and Meta are helping push stocks to records even as surging Treasury yields pressure much of the broader market.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/05/cramer-ai-stocks-treasury-yields.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Your streaming setup is probably down-mixing Dolby Atmos, and here's how to stop it</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/06#auto___your_streaming_setup_is_probably_down_mixing_dolby_atmos__and_here_s_how_to_stop_it</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Your streaming plan, your TV, and your music app's defaults still decide whether you hear it.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/your-streaming-setup-is-probably-downmixing-dolby-atmos/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Android Auto can finally play YouTube, but I tried it and there's a catch</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/06#auto___android_auto_can_finally_play_youtube__but_i_tried_it_and_there_s_a_catch</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                             Still, play videos safely                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/android-auto-can-finally-play-youtube-but-i-tried-it-and-theres-a-catch/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Your Windows Recycle Bin has a size limit, and every drive gets a different one</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/06#auto___your_windows_recycle_bin_has_a_size_limit__and_every_drive_gets_a_different_one</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Automatic drive capping can affect file recovery in Windows.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/your-windows-recycle-bin-has-a-size-limit-and-every-drive-gets-a-different-one/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>SpaceX stock climbs to highest since June, returning Musk to trillionaire status</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/06#auto___spacex_stock_climbs_to_highest_since_june__returning_musk_to_trillionaire_status</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SpaceX shares have bounced almost 60% off their low in early August, boosted by the company's AI business and Starship progress.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/05/spacex-stock-climbs-highest-since-june-returning-musk-to-trillionaire.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Nokia CEO says data centers would be built '2x faster' without supply constraints</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/06#auto___nokia_ceo_says_data_centers_would_be_built__2x_faster__without_supply_constraints</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Nokia CEO's comments underscores continued demand for AI even as top executives debate slowing down the pace of development.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/05/nokia-ai-data-center-buildout.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I tried iOS 27's biggest CarPlay upgrades, and one of them I'll use every day</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/05#auto___i_tried_ios_27_s_biggest_carplay_upgrades__and_one_of_them_i_ll_use_every_day</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            CarPlay stopped testing my patience.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/ios-27-biggest-carplay-upgrades-stability-best/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Those bars on your Ryobi battery don't mean what you think they do</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/05#auto___those_bars_on_your_ryobi_battery_don_t_mean_what_you_think_they_do</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Ryobi battery packs have 4 charge level indicators, but what do they really mean?                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/bars-ryobi-battery-meaning/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>A 'weird' IPO pull, a tainted reputation and the stalled breakout moment for AI wearables</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/05#auto___a__weird__ipo_pull__a_tainted_reputation_and_the_stalled_breakout_moment_for_ai_wearables</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apple, Google and Meta are pushing new AI devices and assistants amid growing privacy concerns around wearables.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/04/ai-wearables-oura-ipo-privacy.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>One lightweight launcher made my old Fire TV feel newer than Amazon's update did</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/05#auto___one_lightweight_launcher_made_my_old_fire_tv_feel_newer_than_amazon_s_update_did</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            I'm glad I did this instead of upgrading.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/make-old-fire-tv-feel-newer-with-projectivy-launcher/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Switching from Spotify felt impossible until I found this app</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/04#auto___switching_from_spotify_felt_impossible_until_i_found_this_app</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            I feared losing my precious playlists and forgotten gems until TuneMyMusic showed me that transferring my data is easy.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/switching-from-spotify-felt-impossible-until-i-found-this-app/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Android has way more ways to type than the keyboard you're using</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/04#auto___android_has_way_more_ways_to_type_than_the_keyboard_you_re_using</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Your thumbs have been doing unnecessary overtime.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/different-ways-to-type-on-android/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I wrote 12 lines of code and made my keyboard do things Windows won't</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/04#auto___i_wrote_12_lines_of_code_and_made_my_keyboard_do_things_windows_won_t</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            I turned one neglected key into shortcuts I actually use.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/i-wrote-12-lines-of-code-and-made-my-keyboard-do-things-windows-cant/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Tesla's Cybercab had a rocky first month in Austin. Now comes the hard part: expanding</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/04#auto___tesla_s_cybercab_had_a_rocky_first_month_in_austin__now_comes_the_hard_part__expanding</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Elon Musk's effort to move beyond auto sales largely relies on the success of his company's Cybercab, which launched in Austin a month ago.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/03/tesla-cybercab-pressure-to-expand-after-rocky-first-month-in-austin.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Meta's Muse can shop and check out for you. Here's how it works</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/04#auto___meta_s_muse_can_shop_and_check_out_for_you__here_s_how_it_works</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Meta announced a slate of Muse partnerships with Walmart, Gap, Sephora, Expedia, Wayfair, Best Buy and others.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/03/meta-muse-shopping-ai-agent.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>How Nvidia, Micron and a surprising jobs report drove last week's stock action</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/04#auto___how_nvidia__micron_and_a_surprising_jobs_report_drove_last_week_s_stock_action</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here's a closer look at the three developments that drove the action in our portfolio last week.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/03/how-nvidia-micron-and-a-surprising-jobs-report-drove-last-weeks-stock-action.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I unlocked Nvidia's professional GPU features on my consumer graphics card</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/03#auto___i_unlocked_nvidia_s_professional_gpu_features_on_my_consumer_graphics_card</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Reuse an older Nvidia card for your homelab.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/i-unlocked-nvidias-professional-gpu-features-on-my-consumer-graphics-card/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>A finished $90 million movie was worth more shelved than released, and it'll never see the light of day</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/03#auto___a_finished__90_million_movie_was_worth_more_shelved_than_released__and_it_ll_never_see_the_light_of_day</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            This canceled superhero movie became one of Hollywood's strangest lost films                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/finished-90-million-movie-worth-more-shelved-than-released-itll-never-see-light-of-day/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>We have officially reached the point where DLSS 5 works on DOS games</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/03#auto___we_have_officially_reached_the_point_where_dlss_5_works_on_dos_games</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Who needs time-consuming remasters when we have DLSS5?                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/we-have-officially-reached-the-point-where-dlss-5-works-on-dos-games/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Anthropic to invest $100 million to train AI engineer talent</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/03#auto___anthropic_to_invest__100_million_to_train_ai_engineer_talent</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anthropic will invest $100 million to train nearly 10,000 AI engineers, partnering with a number of consulting firms.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/02/anthropic-to-invest-100-million-to-train-ai-engineer-talent.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Cerebras stock hits post-IPO low, tumbling 20% for the week on Nvidia pressure and lockup expiration</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/03#auto___cerebras_stock_hits_post_ipo_low__tumbling_20__for_the_week_on_nvidia_pressure_and_lockup_expiration</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cerebras shares hit an all-time low due to pressure from chip giant Nvidia, plus a post-lockup selloff.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/02/cerebras-stock-hits-post-ipo-low-on-nvidia-pressure-lockup-expiration.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Nvidia just hit a record high. Here's why the stock still looks cheap to me</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/03#auto___nvidia_just_hit_a_record_high__here_s_why_the_stock_still_looks_cheap_to_me</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nvidia looks historically cheap despite strong AI demand and expectations for continued revenue growth.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/02/nvidia-is-a-best-in-breed-stock-on-sale-heres-why-im-buying.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I stopped my Galaxy from automatically doing these 5 things, and I wish I'd done it sooner</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/02#auto___i_stopped_my_galaxy_from_automatically_doing_these_5_things__and_i_wish_i_d_done_it_sooner</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            I turned off five automatic Galaxy features and immediately felt more in control.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/turn-off-galaxy-auto-features/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Milwaukee just made the boring 5Ah battery interesting again</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/02#auto___milwaukee_just_made_the_boring_5ah_battery_interesting_again</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            New technology + new design = more power.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/milwaukee-m18-xc5-battery-pack/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I shoot at 24MP instead of 50MP on my Samsung, and it saves me more storage than I expected</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/02#auto___i_shoot_at_24mp_instead_of_50mp_on_my_samsung__and_it_saves_me_more_storage_than_i_expected</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Samsung hides a 24MP camera mode behind an extra app, and I haven't missed 50MP yet.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/shoot-24mp-instead-of-50mp-android-saves-storage/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Interpol says AI is increasing the speed and scale of cyber threats. Here's what companies should watch</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/02#auto___interpol_says_ai_is_increasing_the_speed_and_scale_of_cyber_threats__here_s_what_companies_should_watch</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An Interpol executive warns AI is making existing cyber threats faster and harder to detect, while companies face new risks from the rise of agentic AI.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/02/interpol-cyberattack-cyberthreat-agentic-ai.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>AI is a boon for 3 internet traffic cop stocks. Cramer says only 1 is a buy right now</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/02#auto___ai_is_a_boon_for_3_internet_traffic_cop_stocks__cramer_says_only_1_is_a_buy_right_now</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AI agents are driving a surge in web traffic, creating new growth opportunities for internet infrastructure companies Cloudflare, Akamai and Fastly.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/01/jim-cramer-akamai-ai-traffic.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Software roared back last quarter. Cramer says these stocks can keep climbing</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/02#auto___software_roared_back_last_quarter__cramer_says_these_stocks_can_keep_climbing</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Software stocks bounced back from their AI-driven sell-off, while chip stocks cooled after a massive first-half run.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/01/jim-cramer-software-stocks-q3.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>I never manually check for restocks, price drops, or updates anymore because this Docker container has got my back</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/01#auto___i_never_manually_check_for_restocks__price_drops__or_updates_anymore_because_this_docker_container_has_got_my_back</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            This self-hosted tool has made it easier for me to say goodbye to all those 2 am product page refresh sessions.                                         &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/never-manually-check-for-restocks-price-updates-docker-container/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>We're raising our Micron price target after an incredible quarter and robust guidance</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/01#auto___we_re_raising_our_micron_price_target_after_an_incredible_quarter_and_robust_guidance</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Micron signaled that fiscal 2027 will be another strong year as demand for its memory products continues to exceed supply.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/09/30/were-raising-our-micron-price-target-after-an-incredible-quarter-and-robust-outlook.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>These 6 cheap PC parts can cost more to run than they cost to buy</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/01#auto___these_6_cheap_pc_parts_can_cost_more_to_run_than_they_cost_to_buy</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            My homelab bargains were easy to buy and much harder to keep powered.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/these-cheap-pc-parts-can-cost-more-to-run-than-they-cost-to-buy/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>AI race heats up as OpenAI flags alleged model-copying campaign</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/01#auto___ai_race_heats_up_as_openai_flags_alleged_model_copying_campaign</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;OpenAI says it identified an attempt to extract protected reasoning from its AI models, linking part of the activity with China's Moonshot AI.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/10/01/openai-chinas-moonshot-ai-kimi.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>Trump's AI lunch included every major tech company. Except Apple</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/01#auto___trump_s_ai_lunch_included_every_major_tech_company__except_apple</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apple's absence from Trump's AI lunch raised eyebrows, but the company is known to look out for its own interests.&lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.cnbc.com/2026/09/30/trumps-ai-lunch-included-everyone-but-apple.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  <item>
    <title>My Apple TV was the one streaming box I never worried about, until now</title>
    <link>http://www.jamesraposa.com/index.cgi/2026/10/01#auto___my_apple_tv_was_the_one_streaming_box_i_never_worried_about__until_now</link>
    <description>Furnished content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                            Modern updates are pushing my Apple TV 4K to its limits.                                        &lt;br /&gt;&lt;br /&gt;Read more &lt;a class=&quot;sw_sl&quot; href=&quot;https://www.makeuseof.com/worried-about-my-apple-tv/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</description>
  </item>
  </channel>
</rss>