<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>novos - Posts</title>
      <link>https://novos.onl/posts/</link>
      <description>Personal notes, projects, and observations by Sean Meek.</description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://novos.onl/posts/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Wed, 23 Sep 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Connect an Original Chromecast to a New Wi-Fi Network without Google Home</title>
          <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://novos.onl/posts/2026/original-chromecast-connect-wifi/</link>
          <guid>https://novos.onl/posts/2026/original-chromecast-connect-wifi/</guid>
          <description xml:base="https://novos.onl/posts/2026/original-chromecast-connect-wifi/">&lt;p&gt;I remember when the Chromecast first came out. It truly felt like a little magical device that allowed me to put anything I wanted on the TV. It was cool and captivating. Since then, I&#39;ve used that original device for all sorts of things and I still find uses for it often.&lt;/p&gt;
&lt;p&gt;After moving recently (and with a new Wi-Fi network), I went to set up my favorite little streaming device and found that &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://support.google.com/chromecast/answer/7124014?hl=en&quot;&gt;Google no longer supports the device&lt;/a&gt;. As such, it isn&#39;t even possible to set it up with Google&#39;s own app.&lt;/p&gt;
&lt;p&gt;Fortunately (or perhaps unfortunately), there are quite a few users out there that found the same problem. A bit of searching led me to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.reddit.com/r/Chromecast/comments/14j9bob/how_to_setup_1st_gen_google_chrome_cast_now/&quot;&gt;this Reddit thread&lt;/a&gt;. Folks have been trying older phones, different apps, and various workarounds just to get a working device back on their network. Some things worked, some didn&#39;t. Many have given up. A shame too because the hardware still works.&lt;/p&gt;
&lt;p&gt;A comment in that thread linked to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://emcot.world/How_To_Connect_a_Gen_1_H2G2_42_Chromecast_Without_Google_Home&quot;&gt;jjdb210&#39;s guide on EMCOT&lt;/a&gt; which was quite helpful. They reverse-engineered the web API hosted on the device and documented the steps for configuring the Chromecast Wi-Fi without Google Home.&lt;/p&gt;
&lt;p&gt;For convenience, I wrapped those steps into a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/scmeek/original_chromecast_connect_wifi/blob/main/original_chromecast_connect_wifi.sh&quot;&gt;Bash script&lt;/a&gt;. It gets the device&#39;s public key, finds your network, encrypts the password, and sends and saves the configuration. A little &quot;hacking&quot; to do something that used to be routine.&lt;/p&gt;
&lt;p&gt;The script uses &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;jq&lt;/code&gt;, and &lt;code&gt;openssl&lt;/code&gt;, and assumes you&#39;ve already reset the Chromecast and connected your computer to its setup Wi-Fi. The guide covers the setup details and firmware differences; the script prompts for your network password and handles the requests from there.&lt;/p&gt;
&lt;p&gt;I&#39;ve &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/scmeek/original_chromecast_connect_wifi&quot;&gt;open-sourced it on GitHub&lt;/a&gt;. Improvements, PRs, and input from others are always welcome. Good luck to anyone trying to do the same thing - hope this helps you. 🙂 Maybe we can keep a few more of these little devices going.&lt;/p&gt;
&lt;p&gt;cheers -&lt;br /&gt;
scm&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Introducing a Best-Practices Rust Workspace GitHub Template</title>
          <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://novos.onl/posts/2025/rust-workspace-github-template/</link>
          <guid>https://novos.onl/posts/2025/rust-workspace-github-template/</guid>
          <description xml:base="https://novos.onl/posts/2025/rust-workspace-github-template/">&lt;h1 id=&quot;tl-dr&quot;&gt;tl;dr&lt;/h1&gt;
&lt;p&gt;I&#39;ve created a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/scmeek/rust-workspace-github-template&quot;&gt;Rust workspace GitHub template&lt;/a&gt; that has best practices implementations and scaffolding with as few &quot;opinions&quot; as reasonable. It&#39;s intended to be near-zero effort to get up and going and is scalable.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;As I get further involved with Rust development both personally and professionally - I&#39;ve found I need an easy way to onboard new projects with best-practices as &quot;batteries included&quot;. Rust (and cargo) already do an incredible job of bringing modern software practices into development and tooling. I needed a template that enforced these and has base implementations (or scaffolding) for &lt;em&gt;most&lt;/em&gt; libraries and applications. I&#39;ll certainly be using it for my Rust projects and I hope that it&#39;s a help for you too!&lt;/p&gt;
&lt;h1 id=&quot;features&quot;&gt;Features&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Only Rust- or cargo-ecosystem tooling&lt;/li&gt;
&lt;li&gt;Robust Continuous Integration (CI)
&lt;ul&gt;
&lt;li&gt;Fast and parallel&lt;/li&gt;
&lt;li&gt;Dependency auditing
&lt;ul&gt;
&lt;li&gt;Unused dependencies&lt;/li&gt;
&lt;li&gt;Vulnerability checks&lt;/li&gt;
&lt;li&gt;Licenses&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Static analysis for security and auditing
&lt;ul&gt;
&lt;li&gt;via &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/zizmorcore/zizmor&quot;&gt;zizmor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Local development matches as much as possible&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Strict workspace-wide linting configuration for safety&lt;/li&gt;
&lt;li&gt;Automatic versioning and releasing
&lt;ul&gt;
&lt;li&gt;Commits should adhere to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.conventionalcommits.org/&quot;&gt;Conventional Commits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/release-plz/release-plz&quot;&gt;&lt;code&gt;release-plz&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Modern and fast testing
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://nexte.st&quot;&gt;&lt;code&gt;nextest&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/taiki-e/cargo-llvm-cov&quot;&gt;&lt;code&gt;cargo-llvm-cov&lt;/code&gt;&lt;/a&gt; for coverage&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Benchmarking
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://docs.rs/criterion/latest/criterion/&quot;&gt;&lt;code&gt;criterion&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GitHub templates
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CODEOWNERS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Dependabot&lt;/li&gt;
&lt;li&gt;Pull request template&lt;/li&gt;
&lt;li&gt;Bug report template&lt;/li&gt;
&lt;li&gt;Feature request template&lt;/li&gt;
&lt;li&gt;Security policy&lt;/li&gt;
&lt;li&gt;Code of conduct&lt;/li&gt;
&lt;li&gt;Contributing guidelines&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Sensible default dependencies&lt;/li&gt;
&lt;li&gt;Project defaults
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;LICENSE&lt;/code&gt; file&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;technologies&quot;&gt;Technologies&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cargo&lt;/code&gt; for all Rust project functions, naturally&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Make&lt;/code&gt; as interface for project actions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;assumptions&quot;&gt;Assumptions&lt;/h2&gt;
&lt;p&gt;The template uses &lt;code&gt;release-plz&lt;/code&gt; for version control and releasing. It requires &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;http://conventionalcommits.org&quot;&gt;Conventional Commits&lt;/a&gt; for commit messages to know how to bump the version (using &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://semver.org&quot;&gt;Semantic Versioning&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The template assumes that &lt;code&gt;main&lt;/code&gt; will be the default git branch.&lt;/p&gt;
&lt;p&gt;This template has been tested for local dev using &lt;code&gt;macOS&lt;/code&gt;. Other operating systems may work or could easily be extended to include them.&lt;/p&gt;
&lt;h1 id=&quot;future&quot;&gt;Future&lt;/h1&gt;
&lt;p&gt;I&#39;ll continually be updating this template as I use it and new best practices come out. All feedback is welcome (PRs preferred) and I certainly hope you will contribute too.&lt;/p&gt;
&lt;p&gt;cheers -&lt;br /&gt;
scm&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Hello Universe</title>
          <pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://novos.onl/posts/2025/hello-universe/</link>
          <guid>https://novos.onl/posts/2025/hello-universe/</guid>
          <description xml:base="https://novos.onl/posts/2025/hello-universe/">&lt;h1 id=&quot;greetings-alien&quot;&gt;Greetings 👽&lt;/h1&gt;
&lt;p&gt;It is time to &lt;em&gt;finally&lt;/em&gt; launch my personal website. This project is something I&#39;ve wanted for quite some time and have been on-and-off working towards in the last year. I anticipate it being a somewhat sporadically-updated collection of tech discoveries, unique procedures, or undocumented behavior; side projects; personal anecdotes; and various general musings. Depending on how things go, I may host other content here as well.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;There are many like it but this one is mine.&lt;/em&gt;&lt;/p&gt;
&lt;h1 id=&quot;novos&quot;&gt;novos&lt;/h1&gt;
&lt;p&gt;Why &#39;novos?&#39; I&#39;ve always liked creating new words for new concepts. &#39;novos&#39; is the combination of &#39;nova,&#39; as in &#39;supernova&#39; or &#39;hypernova,&#39; and &#39;-os,&#39; as in &#39;ethos&#39; and &#39;logos.&#39; The notion is an energetic expansion of knowledge and reason, guided by curiosity and exploration. Maybe a bit silly but representative of where I see this project going.&lt;/p&gt;
&lt;h1 id=&quot;onward&quot;&gt;Onward&lt;/h1&gt;
&lt;p&gt;Feel free to leave a comment with your thoughts. Surely, there will be very little traffic as this project gets started so it&#39;d be great to hear from you. I&#39;ve got a few topics in the pipeline that I&#39;m excited to share here.&lt;/p&gt;
&lt;p&gt;cheers -&lt;br /&gt;
scm&lt;/p&gt;
</description>
      </item>
    </channel>
</rss>
