conr.dev Tech posts to educate, elevate, but mostly entertain. 2024-01-10T17:00:00Z https://conr.dev/ Conor Meagher [email protected] Announcing Discord-RSS 2024-01-10T17:00:00Z https://conr.dev/posts/2024/01/announcing-discord-rss/ <div class="col-start-3 col-end-9"> <p>Announcing a fork of <a href="https://github.com/3ventic/discord-rss" target="_blank" rel="noreferrer">Discord-RSS</a> using the latest versions of <a href="https://nodejs.org" target="_blank" rel="noreferrer">Node.js</a>, <a href="https://kit.svelte.dev" target="_blank" rel="noreferrer">Svelte-Kit</a> and <a href="https://authjs.dev/" target="_blank" rel="noreferrer">Auth.js</a>. This unique tool will provide an innovative way to manage and share RSS feed content across Discord channels, with a focus on simplicity and speed.</p> <h3 id="unique-features" tabindex="-1">Unique Features <a class="direct-link text-gray-400 dark:text-gray-600" href="#unique-features" aria-label="permalink to unique-features" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The new Discord-RSS bot boasts several unique features that will enhance the user experience and functionality.</p> <h3 id="simple-web-management-ui" tabindex="-1">Simple Web Management UI <a class="direct-link text-gray-400 dark:text-gray-600" href="#simple-web-management-ui" aria-label="permalink to simple-web-management-ui" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Using modern <a href="https://tailwindcss.com" target="_blank" rel="noreferrer">TailwindCSS</a>, it incorporates a simple web management UI. This is a significant feature, as it allows non-technical users to easily manage the admin user interface. No coding skills are required. It eliminates the intimidation that often comes with managing technical platforms, making them accessible to a wider range of users.</p> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/discord-rss-web.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/discord-rss-web.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/discord-rss-web.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/discord-rss-web.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/discord-rss-web.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/discord-rss-web.webp 1240w" alt="Discord RSS Feed Manager Screenshot" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">Discord RSS Feed Manager Screenshot</figcaption></figure> <h3 id="user-mentions-in-posts" tabindex="-1">User Mentions in Posts <a class="direct-link text-gray-400 dark:text-gray-600" href="#user-mentions-in-posts" aria-label="permalink to user-mentions-in-posts" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>This new Discord-RSS bot also brings the addition of cleaner user mentions in posts. This feature enhances the functionality by showing the ownership of posts. It also provides instant notifications to the author when their post is shared.</p> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/discord-rss-webhook.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/discord-rss-webhook.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/discord-rss-webhook.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/discord-rss-webhook.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/discord-rss-webhook.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/discord-rss-webhook.webp 1240w" alt="Webhook Post Screenshot" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">Webhook Post Screenshot</figcaption></figure> <h3 id="enhanced-logging" tabindex="-1">Enhanced Logging <a class="direct-link text-gray-400 dark:text-gray-600" href="#enhanced-logging" aria-label="permalink to enhanced-logging" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The runner outputs more robust logs, which gives the bot better observability on the bot. This better helps to troubleshoot misconfigured, timed-out, or invalid RSS feeds with fun emojis. 🎉</p> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/discord-rss-runner.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/discord-rss-runner.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/discord-rss-runner.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/discord-rss-runner.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/discord-rss-runner.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/discord-rss-runner.webp 1240w" alt="Runner Logging via CLI" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">Runner Logging via CLI</figcaption></figure> <h3 id="post-to-any-channel-webhook" tabindex="-1">Post to Any Channel Webhook <a class="direct-link text-gray-400 dark:text-gray-600" href="#post-to-any-channel-webhook" aria-label="permalink to post-to-any-channel-webhook" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The Node.js runner gives users the flexibility to post to any channel webhook. This is a notable improvement from most RSS integrations to Discord which limit you to just a channel or server. The webhook is only tied to a channel and not its parent server.</p> <h3 id="power-of-node.js%2C-svelte%2C-and-redis" tabindex="-1">Power of Node.js, Svelte, and Redis <a class="direct-link text-gray-400 dark:text-gray-600" href="#power-of-node.js%2C-svelte%2C-and-redis" aria-label="permalink to power-of-node.js%2C-svelte%2C-and-redis" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The bot leverages the power of three key technologies: Node.js, Svelte, and Redis.</p> <p>Svelte-Kit provides a host of great features out of the box. It offers <em>fast setup, fast development, fast builds, fast page loads, and fast navigation</em><sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>. At the same time, <a href="https://learn.svelte.dev/" target="_blank" rel="noreferrer">learn.svelte.dev</a> is a great way to learn with user docs integrated with a coding playground. This makes it straightforward to build and learn quickly. The coding sytax has an old-school &quot;HTML written on Notepad.exe&quot; feel to it, with HTML, JavaScript, and Svelte all in one file, but with tremendous flexibility. Meanwhile, Node.js is just a trusty way to have of a script runner digesting RSS Feeds via its built-in fetch API. The combination of these two technologies results in a high-performing and efficient tool.</p> <p>Where do you store all the RSS feed meta? Since only an object of feeds is needed, a Redis instance is more than enough because it's a good caching layer, and it lacks complexity. Svelte-Kit can handle the rest with writable <a href="https://svelte.dev/docs/svelte-store#readable" target="_blank" rel="noreferrer">svelte/stores</a> and <a href="https://github.com/redis/ioredis" target="_blank" rel="noreferrer">redis/ioredis</a> for <em>a robust, performance-focused, and full-featured Redis client for Node.js</em><sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p> <h3 id="promoting-rss-feed-use" tabindex="-1">Promoting RSS Feed Use <a class="direct-link text-gray-400 dark:text-gray-600" href="#promoting-rss-feed-use" aria-label="permalink to promoting-rss-feed-use" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The Discord RSS is not just a tool; it is a medium to promote the use of adding <a href="https://aboutfeeds.com/" target="_blank" rel="noreferrer">RSS feeds</a> for personal and professional blogs. By integrating this tool, Discord users can easily promote their latest blog posts. Adding an RSS feed to their blog ensures that their content can be easily added to Discord RSS, thereby increasing visibility and engagement.</p> <h3 id="open-sourced" tabindex="-1">Open-Sourced <a class="direct-link text-gray-400 dark:text-gray-600" href="#open-sourced" aria-label="permalink to open-sourced" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The best feature of all is that this is available to anyone! Self-host this repo on a VM or locally and get it integrated with your own Discord server. Bug issues and features are welcomed too. Check it out:</p> <p><a href="https://github.com/conrmahr/discord-rss" target="_blank" rel="noreferrer">https://github.com/conrmahr/discord-rss</a></p> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://kit.svelte.dev" target="_blank" rel="noreferrer">&quot;SvelteKit • Web development, streamlined&quot;</a>. Retrieved January 18, 2024. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="https://github.com/redis/ioredis" target="_blank" rel="noreferrer">&quot;redis/ioredis: 🚀 A robust, performance-focused, and full-featured Redis client for Node.js.&quot;</a>. Retrieved January 18, 2024. <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Polywork is Dead to Me 2023-11-05T17:00:00Z https://conr.dev/posts/2023/11/polywork-is-dead-to-me/ <div class="col-start-3 col-end-9"> <blockquote> <p>Going forward, Polywork will enable professionals to express all the things they do through a personal website builder of sorts.</p> </blockquote> <p>After reading that blog post<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>, I was gutted. <em>Yet-Another-Personal-Website-Builder (YAPWB)</em> should be the name. Now that I'm removing my Polywork references throughout this website, I wanted to write this post to selfishly cope. Thanks for reading.</p> <p><a href="https://www.producthunt.com/products/polywork" target="_blank" rel="noreferrer">Polywork v1</a> was a great place to microblog your projects, accomplishments, awards, wins, cheers, or whatever you wanted. But what made it special was the social aspect of linking others to the same items and building a network of relationships behind those items. Even without it, it was a great portfolio timeline that was live on the internet and linkable. There might have been a website that I built as a side project that didn't need to be listed on my personal site and resume, so this was a great place for it to live instead. You could always link to it later if you needed to show it for a job or for inspiration.</p> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/polywork-v1-post.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/polywork-v1-post.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/polywork-v1-post.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/polywork-v1-post.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/polywork-v1-post.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/polywork-v1-post.webp 1240w" alt="Original Polywork post layout" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">Original Polywork post layout via producthunt.com</figcaption></figure> <p>I shilled for it. Posting it everywhere that had my personal brand attached to it. I told all my friends and colleagues to sign up and add me as a friend. I even went through the manual process of getting verified through a scheduled Zoom call when being verified actually meant something.</p> <p>Now I have this...</p> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/polywork-v2-timeline.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/polywork-v2-timeline.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/polywork-v2-timeline.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/polywork-v2-timeline.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/polywork-v2-timeline.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/polywork-v2-timeline.webp 1240w" alt="New Polywork timeline" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">New Polywork timeline via producthunt.com</figcaption></figure> <p>That's why Polywork is dead to me. Maybe not to you, which is totally fine, and I hope it can succeed as a product because it has a great team and some pretty nice portfolio templates to use. But back to <a href="https://www.linkedin.com/in/conrmahr" target="_blank" rel="noreferrer">LinkedIn</a> I go.</p> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://blog.polywork.com/polywork-founder-product-update/" target="_blank" rel="noreferrer">&quot;A letter from our CEO: Changes to Polywork&quot;</a>. Retrieved September 8, 2023. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Flow-State with Centered 2023-03-31T17:00:00Z https://conr.dev/posts/2023/03/flow-state-with-centered/ <div class="col-start-3 col-end-9"> <p><a href="https://twitter.com/centered_app/status/1643240753441947648" target="_blank" rel="noreferrer">https://twitter.com/centered_app/status/1643240753441947648</a></p> <p>Working in a world where your attention span is prime real-estate for push notifications from social media, email, text messages, and instant messaging apps, you need a way to block it all out and stay on task. Ok, let me use the macOS &quot;Focus&quot; setting for notifications. Ahhh, here we go, no more distractions, and time to get work done.</p> <p>It's 30 minutes later, and I've spent the whole time doing a deep dive on <a href="https://www.youtube.com/watch?v=Ydpli6HztQo&amp;list=PL5_4AmnEn4uuDsU5YDajVQVFRIVJfPM80" target="_blank" rel="noreferrer">The Best of Chris Farley via YouTube</a>. It's like I need something to keep me on-task. A voice... a reminder... a coach.</p> <p>&quot;Ready to dive in? Let's get flowin'.&quot; - <a href="https://centered.app/g/freakin-nerds?from=p3y2qZFuzmV0vhUUkRLRJP8yExC2" target="_blank" rel="noreferrer">Cassidy Williams</a></p> <p>Thank you, Cassidy. My colleague and friend, but also my coach, who recommended <a href="https://centered.app" target="_blank" rel="noreferrer">Centered.app</a> to me to solve this very problem that we face when working on a computer all day. If I do well, there are encouraging messages to keep me going. If I get off-track and start checking Twitter or email, I get <s>yelled at</s>, I mean, nudged to come back to my task. That's the core of what I need it to do for me, but it can do so much more. Here are some of the many features:</p> <ul> <li>A coach of your choice to encourage you</li> <li>Pomodoro technique for time management</li> <li>An integrated todo list</li> <li>A variety of music choices</li> <li>Muted notifications</li> <li>Nudges when you get distracted</li> <li>Breathing exercises</li> <li>A leaderboard</li> </ul> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/macos-centered-app.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/macos-centered-app.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/macos-centered-app.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/macos-centered-app.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/macos-centered-app.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/macos-centered-app.webp 1240w" alt="Dashboard of Centered App on macOS" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">Dashboard of Centered App on macOS</figcaption></figure> <p>I don't shill for much but why not give it a try? <a href="https://centered.app/g/freakin-nerds?from=p3y2qZFuzmV0vhUUkRLRJP8yExC2" target="_blank" rel="noreferrer">Join me today and get a 14-day free trial of Centered PRO!</a></p> </div> Sync Obsidian with iCloud 2023-02-28T17:00:00Z https://conr.dev/posts/2023/02/sync-obsidian-with-icloud/ <div class="col-start-3 col-end-9"> <p><a href="https://twitter.com/bencodezen/status/1458484105331585028" target="_blank" rel="noreferrer">https://twitter.com/bencodezen/status/1458484105331585028</a></p> <p>Being an <a href="https://obsidian.md" target="_blank" rel="noreferrer">Obsidian.md</a> Power-User, I always wanted to update my notes from any of my devices and sync them but I didn't have a great use case to host my notes with the paid version of <a href="https://obsidian.md/sync" target="_blank" rel="noreferrer">Obsidian Sync</a>. iCloud Drive would be the best option for this, plus it's free! These steps are not the only way to sync with iCloud Drive but I found this order to be easiest.</p> <h3 id="requirements" tabindex="-1">Requirements <a class="direct-link text-gray-400 dark:text-gray-600" href="#requirements" aria-label="permalink to requirements" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <ul> <li><a href="https://obsidian.md/download" target="_blank" rel="noreferrer">Obsidian for macOS</a></li> <li><a href="https://apps.apple.com/us/app/obsidian-connected-notes/id1557175442" target="_blank" rel="noreferrer">Obsidian for iOS or iPadOS</a></li> <li><a href="https://appleid.apple.com/" target="_blank" rel="noreferrer">Apple ID account</a></li> </ul> <h3 id="setup" tabindex="-1">Setup <a class="direct-link text-gray-400 dark:text-gray-600" href="#setup" aria-label="permalink to setup" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <ol> <li> <p>Setup and enable iCloud Drive on all devices you want to sync.<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p> </li> <li> <p>Open the Obsidian iOS or iPadOS app and select &quot;Create new vault&quot;.</p> </li> <li> <p>Type a vault name and check &quot;Store in iCloud&quot; then tap &quot;Create&quot;.</p> </li> </ol> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/ios-store-in-icloud.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/ios-store-in-icloud.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/ios-store-in-icloud.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/ios-store-in-icloud.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/ios-store-in-icloud.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/ios-store-in-icloud.webp 1240w" alt="iOS Obsidian - Store in iCloud" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">iOS Obsidian - Store in iCloud</figcaption></figure> <ol> <li> <p>Move to your macOS device and open the Obsidian app.</p> </li> <li> <p>Open the newly create vault with File &gt; Open Vault...</p> </li> <li> <p>Browse to iCloud Drive &gt; Obsidian &gt; <code>vault name</code> and click &quot;Open&quot;.</p> </li> <li> <p>Create a new note for testing with File &gt; New Note.</p> </li> </ol> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/macos-hello-world.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/macos-hello-world.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/macos-hello-world.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/macos-hello-world.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/macos-hello-world.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/macos-hello-world.webp 1240w" alt="macOS Obsidian - Hello World" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">macOS Obsidian - Hello World</figcaption></figure> <ol> <li>Return to your Obsidian app on iOS and see if your file synced.</li> </ol> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/ios-hello-world.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/ios-hello-world.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/ios-hello-world.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/ios-hello-world.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/ios-hello-world.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/ios-hello-world.webp 1240w" alt="iOS Obsidian - Hello World" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">iOS Obsidian - Hello World</figcaption></figure> <p><strong>Success!</strong></p> <p>*<em>Existing Obsidian Users: Copy all your previous vault files and directory structure to iCloud Drive Obsidian folder</em></p> <p>*Note: You can also download <a href="https://support.apple.com/en-us/HT204283" target="_blank" rel="noreferrer">iCloud Drive for Windows</a> and keep your Obsidian vault in sync on a Windows device.</p> <p>Personally, I have gotten one vault synced across all of these devices, macOS, iOS, iPadOS, and Windows!</p> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://support.apple.com/en-us/HT204025" target="_blank" rel="noreferrer">&quot;Set up iCloud Drive&quot;</a>. Retrieved November 3, 2022. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> </ol> </section> RSS Feed in a 11ty site 2022-07-14T23:59:59Z https://conr.dev/posts/2022/07/rss-for-11ty/ <div class="col-start-3 col-end-9"> <p><a href="https://twitter.com/davatron5000/status/1308404187299012616?s=20&amp;t=e4vdBOpt8sEjbCJp21Qz7A" target="_blank" rel="noreferrer">https://twitter.com/davatron5000/status/1308404187299012616?s=20&amp;t=e4vdBOpt8sEjbCJp21Qz7A</a></p> <p><a href="https://daverupert.com" target="_blank" rel="noreferrer">Dave Rupert</a> is right. Really Simple Syndication or <a href="https://en.wikipedia.org/wiki/RSS" target="_blank" rel="noreferrer">RSS</a> is a great way for people to digest their favorite blog articles with a RSS reader of their choice not be bombarded with ads, click-bait, and spam. So why not do your readers a favor and add it to your 11ty blog?</p> <h3 id="install-package" tabindex="-1">Install package <a class="direct-link text-gray-400 dark:text-gray-600" href="#install-package" aria-label="permalink to install-package" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Start in your 11ty project folder and install this package.</p> <pre class="language-bash"><code class="language-bash"><span class="token function">npm</span> <span class="token function">install</span> @11ty/eleventy-plugin-rss --save-dev</code></pre> <h3 id="include-in-your-11ty-configuration" tabindex="-1">Include in your 11ty configuration <a class="direct-link text-gray-400 dark:text-gray-600" href="#include-in-your-11ty-configuration" aria-label="permalink to include-in-your-11ty-configuration" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>In the <code>.eleventy.js</code> file, require the plugin and include it in the <code>module.exports</code> function with any other plugins you may have.</p> <pre class="language-js"><code class="language-js"><span class="token keyword">const</span> pluginRss <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">"@11ty/eleventy-plugin-rss"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> module<span class="token punctuation">.</span><span class="token function-variable function">exports</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">eleventyConfig</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> eleventyConfig<span class="token punctuation">.</span><span class="token function">addPlugin</span><span class="token punctuation">(</span>pluginRss<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span></code></pre> <h3 id="add-to-feed-metadata" tabindex="-1">Add to feed metadata <a class="direct-link text-gray-400 dark:text-gray-600" href="#add-to-feed-metadata" aria-label="permalink to add-to-feed-metadata" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>In the <code>_data/metadata.json</code> file, add the unique metadata for the feed.</p> <pre class="language-json"><code class="language-json"><span class="token punctuation">{</span> <span class="token property">"feed"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token property">"subtitle"</span><span class="token operator">:</span> <span class="token string">"Tech posts to educate, elevate, but mostly entertain."</span><span class="token punctuation">,</span> <span class="token property">"filename"</span><span class="token operator">:</span> <span class="token string">"feed.xml"</span><span class="token punctuation">,</span> <span class="token property">"path"</span><span class="token operator">:</span> <span class="token string">"/feed/feed.xml"</span><span class="token punctuation">,</span> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"https://conr.dev/feed/feed.xml"</span><span class="token punctuation">,</span> <span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"https://conr.dev/"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></code></pre> <h3 id="create-a-rss-feed" tabindex="-1">Create a RSS feed <a class="direct-link text-gray-400 dark:text-gray-600" href="#create-a-rss-feed" aria-label="permalink to create-a-rss-feed" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>From your top-level of your 11ty project folder, create this template file.</p> <pre class="language-bash"><code class="language-bash"><span class="token function">touch</span> src/feed.njk</code></pre> <p>Atom has several advantages over RSS: less restrictive licensing, IANA-registered MIME type, XML namespace, URI support, RELAX NG support. <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> Knowing this, we will copy and paste the Atom format to produce our <code>feed.njk</code> template. Other formats are available such as RSS and JSON. <sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup></p> <pre class="language-xml"><code class="language-xml">--- # Metadata comes from _data/metadata.json permalink: "{{ metadata.feed.path }}" eleventyExcludeFromCollections: true --- <span class="token prolog">&lt;?xml version="1.0" encoding="utf-8"?></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>feed</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>http://www.w3.org/2005/Atom<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>title</span><span class="token punctuation">></span></span>{{ metadata.title }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>title</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>subtitle</span><span class="token punctuation">></span></span>{{ metadata.feed.subtitle }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>subtitle</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{{ metadata.feed.url }}<span class="token punctuation">"</span></span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>self<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{{ metadata.url }}<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>updated</span><span class="token punctuation">></span></span>{{ collections.posts | getNewestCollectionItemDate | dateToRfc3339 }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>updated</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>id</span><span class="token punctuation">></span></span>{{ metadata.url }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>id</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>author</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>name</span><span class="token punctuation">></span></span>{{ metadata.author.name }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>name</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>email</span><span class="token punctuation">></span></span>{{ metadata.author.email }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>email</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>author</span><span class="token punctuation">></span></span> {%- for post in collections.posts | reverse %} {% set absolutePostUrl %}{{ post.url | url | absoluteUrl(metadata.url) }}{% endset %} <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>entry</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>title</span><span class="token punctuation">></span></span>{{ post.data.title }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>title</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{{ absolutePostUrl }}<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>updated</span><span class="token punctuation">></span></span>{{ post.date | dateToRfc3339 }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>updated</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>id</span><span class="token punctuation">></span></span>{{ absolutePostUrl }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>id</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>content</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>html<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>{{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>content</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>entry</span><span class="token punctuation">></span></span> {%- endfor %} <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>feed</span><span class="token punctuation">></span></span></code></pre> <p><strong>Important:</strong> This code assumes you save your date frontmatter in UTC format, not your local timezone.</p> <pre class="language-md"><code class="language-md"><span class="token front-matter-block"><span class="token punctuation">---</span> <span class="token front-matter yaml language-yaml">date: 2022-01-01T00:00:00Z</span> <span class="token punctuation">---</span></span></code></pre> <p>That's it. You now have a Atom v1.0 feed on your 11ty website when you serve or build the project.</p> <p>Check out mine and subscribe!<br> <a href="https://conr.dev/feed/" target="_blank" rel="noreferrer">https://conr.dev/feed/</a></p> </div> <section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://en.wikipedia.org/wiki/RSS#RSS_compared_with_Atom" target="_blank" rel="noreferrer">&quot;RSS compared with Atom&quot;</a>. Retrieved June 14, 2022 <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="https://www.11ty.dev/docs/plugins/rss/#sample-feed-templates" target="_blank" rel="noreferrer">&quot;Sample Feed Templates&quot;</a>. Retrieved July 12, 2022 <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Goodbye WordPress, Hello 11ty! 2022-01-06T23:00:00Z https://conr.dev/posts/2022/01/goodbye-wordpress-hello-11ty/ <div class="col-start-3 col-end-9"> <p><a href="https://twitter.com/conrmahr/status/1479151678637187079" target="_blank" rel="noreferrer">https://twitter.com/conrmahr/status/1479151678637187079</a></p> <h3 id="past" tabindex="-1">Past <a class="direct-link text-gray-400 dark:text-gray-600" href="#past" aria-label="permalink to past" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>I have been using WordPress (WP) since 2010. Back then there wasn't a lot of open-source software (OSS) choices for hosting your own website with a blog. The thought of having a live website 24/7 that could be edited with a web browser and access to internet was what intrigued me.</p> <h3 id="present" tabindex="-1">Present <a class="direct-link text-gray-400 dark:text-gray-600" href="#present" aria-label="permalink to present" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The Monolithic architecture of WP made it so massive and bulky for a simple blog site with a single-user, it was hard to get away from it until now.</p> <p>Say hello to the <a href="https://jamstack.org" target="_blank" rel="noreferrer">Jamstack</a> architecture generated by a static site generator, <a href="https://11ty.dev" target="_blank" rel="noreferrer">Eleventy</a>:</p> <ol> <li><strong>J</strong>avaScript</li> <li><strong>A</strong>PIs</li> <li><strong>M</strong>arkup</li> </ol> <p>The Jamstack architecture has many benefits, whether you’re building a large e-commerce site, SaaS application or personal blog.</p> <h4 id="better-performance" tabindex="-1">Better Performance <a class="direct-link text-gray-400 dark:text-gray-600" href="#better-performance" aria-label="permalink to better-performance" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h4> <p>Why wait for pages to build on the fly when you can generate them at deploy time? When it comes to minimizing the time to first byte, nothing beats pre-built files served over a CDN.</p> <h4 id="higher-security" tabindex="-1">Higher Security <a class="direct-link text-gray-400 dark:text-gray-600" href="#higher-security" aria-label="permalink to higher-security" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h4> <p>With server-side processes abstracted into microservice APIs, surface areas for attacks are reduced. You can also leverage the domain expertise of specialist third-party services.</p> <h4 id="cheaper%2C-easier-scaling" tabindex="-1">Cheaper, Easier Scaling <a class="direct-link text-gray-400 dark:text-gray-600" href="#cheaper%2C-easier-scaling" aria-label="permalink to cheaper%2C-easier-scaling" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h4> <p>When your deployment amounts to a stack of files that can be served anywhere, scaling is a matter of serving those files in more places. CDNs are perfect for this, and often include scaling in all of their plans.</p> <h4 id="better-developer-experience" tabindex="-1">Better Developer Experience <a class="direct-link text-gray-400 dark:text-gray-600" href="#better-developer-experience" aria-label="permalink to better-developer-experience" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h4> <p>Loose coupling and separation of controls allow for more targeted development and debugging, and the expanding selection of CMS options for site generators remove the need to maintain a separate stack for content and marketing.</p> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/jamstack-architecture.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/jamstack-architecture.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/jamstack-architecture.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/jamstack-architecture.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/jamstack-architecture.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/jamstack-architecture.webp 1240w" alt="Jamstack architecture diagram, Bidirectional arrows between Client and CDN, Client and Microservices" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">Jamstack architecture diagam via jamstack.org</figcaption></figure> </div> Code Music: Shostakovich Symphony No. 7 2021-05-14T23:00:00Z https://conr.dev/posts/2021/05/code-music-shostakovich-symphony-no-7/ <div class="col-start-3 col-end-9"> <p>Greatest composer of the 20th century? Well to my ears Dmitri Dmitriyevich Shostakovich <strong>is</strong> the <em>Greatest of All Time</em>. Just listen to this heart-wrenching Piano Quintet in G minor, Op. 57 written in 1940:</p> <p><a href="https://twitter.com/conrmahr/status/1375132545562636289" target="_blank" rel="noreferrer">https://twitter.com/conrmahr/status/1375132545562636289</a></p> <p>Two years later Shostakovich scored one of the greatest public triumphs of his life with his wartime Seventh Symphony. The first three movements were written in Leningrad in the late summer of 1941 as the Nazi armies encircled the city. After the composer and his family were evacuated by air to Kuibyshev, he completed the finale. Throughout this symphony there is a genuinely powerful and profound sense of the unknown which drives the music forwards and makes its quite impossible to dismiss it as one dimensional or propaganda.</p> <p>It's a one and a half hour journey that you must commit to. Early mornings or late afternoon blocks of coding are great candidates for this masterpiece to drive you through a binary war. Powerful openings, quiet melodies, and a long crescendoing march to the unknown will keep you &quot;in the zone&quot;.</p> <p><a href="https://soundcloud.com/conrmahr/sets/code-music-shostakovich" target="_blank" rel="noreferrer">https://soundcloud.com/conrmahr/sets/code-music-shostakovich</a></p> </div> Code Music: American Football 2020-04-12T23:00:00Z https://conr.dev/posts/2020/04/code-music-american-football-ep1/ <div class="col-start-3 col-end-9"> <p>This post would have never happened if I didn't see &quot;American Football&quot; trending on Twitter last night. NFL? XFL? One of my favorite math rock bands on Minecraft? Minutes later I was tweeting the following:</p> <p><a href="https://twitter.com/conrmahr/status/1249190216742641664" target="_blank" rel="noreferrer">https://twitter.com/conrmahr/status/1249190216742641664</a></p> <p>This eponymous debut album by <a href="http://www.americanfootballmusic.com" target="_blank" rel="noreferrer">American Football</a> sparks your memory of what it's like to be a teenager in the late 90's and early 00's. The repeating guitar arpeggios and dream like pace with the low-volume vocals makes it a treat to code too. This album has helped code many websites along with deal with tons of heartbreak. The whole album is only 9 tracks averaging around 4 mins a pop, so it's an easy listen and a great album to put on repeat.</p> <p><a href="https://www.youtube.com/watch?v=%5C_NfnXdXpjL0" target="_blank" rel="noreferrer">https://www.youtube.com/watch?v=\_NfnXdXpjL0</a></p> <p><a href="https://soundcloud.com/conrmahr/sets/code-music-american-football" target="_blank" rel="noreferrer">https://soundcloud.com/conrmahr/sets/code-music-american-football</a></p> </div> Cut the Google Fiber Network Box Please 2019-06-08T23:00:00Z https://conr.dev/posts/2019/06/cut-the-google-fiber-network-box-please/ <div class="col-start-3 col-end-9"> <p>With my consecutive <a href="/posts/2018/01/cut-the-cord-please/" target="_blank" rel="noreferrer">Cut the Cord Please</a> and <a href="/posts/2018/06/cut-the-cord-please-again/" target="_blank" rel="noreferrer">Cut the Cord Please, Again</a>, its now about cutting the hardware. The Google Fiber Network Box is not the most hi-tech piece of equipment. A low-end 802.11ac radio, cloud-only admin login, limited networking options, but worst of all, no Bridge-Mode! Advanced users are not going to use this box while routing 1 Gbit/s of bandwidth throughout their home or office. Use your own Wi-Fi router?<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p> <blockquote> <p>Google Fiber recommends you to Double-NAT it. Yuck.</p> </blockquote> <p>How about tagging it to VLAN2? Yes sir. Now you can bypass the Network Box and plug directly into your own hardware. Here's how to do it with a <a href="https://amzn.to/2Mwa5pN" target="_blank" rel="noreferrer">Ubiquiti Unifi Security Gateway (USG)</a>:</p> <h3 id="ubiquiti-unifi" tabindex="-1">Ubiquiti UniFi <a class="direct-link text-gray-400 dark:text-gray-600" href="#ubiquiti-unifi" aria-label="permalink to ubiquiti-unifi" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <ul> <li>Plug the Fiber Jack directly in the USG WAN port</li> <li>Power the Fiber Jack with plugging in the USB power adapter.</li> <li>Login to the UniFi controller</li> <li>Go to Settings &gt; Networks &gt; WAN &gt; Edit</li> <li>Toggle Use VLAN to on</li> <li>Set VLAN ID to 2 and QoS Tag to 3</li> <li>Click Apply Changes</li> </ul> <h3 id="no-vlan-tagging" tabindex="-1">No VLAN Tagging <a class="direct-link text-gray-400 dark:text-gray-600" href="#no-vlan-tagging" aria-label="permalink to no-vlan-tagging" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>There has been user reports that Google Fiber is getting rid of the VLAN tagging requirement.<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup> That has not been the case for me in the Kansas City metro area but it's important to note that I use the GFLT110 compared to the newer GFLT300 model Fiber Jack.<sup class="footnote-ref"><a href="#fn3" id="fnref3">[3]</a></sup> Maybe it's model specific or just Fiber City specific.</p> <p><a href="https://twitter.com/conrmahr/status/1137258538336772096" target="_blank" rel="noreferrer">https://twitter.com/conrmahr/status/1137258538336772096</a></p> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://support.google.com/fiber/answer/2446100" target="_blank" rel="noreferrer">&quot;Google Fiber Help: Use your own Wi-Fi router&quot;</a>. Retrieved June 8, 2019. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="https://www.reddit.com/r/googlefiber/comments/9do9s3/vlan/" target="_blank" rel="noreferrer">&quot;r/googlefiber VLAN&quot;</a>. Retrieved September 2018. <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> <li id="fn3" class="footnote-item"><p><a href="https://support.google.com/fiber/answer/2667494" target="_blank" rel="noreferrer">&quot;Google Fiber Help: About your Fiber Jack&quot;</a>. Retrieved June 8, 2019. <a href="#fnref3" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Cut the Cord Please, Again 2018-06-22T23:00:00Z https://conr.dev/posts/2018/06/cut-the-cord-please-again/ <div class="col-start-3 col-end-9"> <p>Less than a month after publishing the following post, <em><a href="/posts/2018/01/cut-the-cord-please/" target="_blank" rel="noreferrer">Cut the Cord Please</a></em>, a number of paid over-the-top content providers<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> flooded the market. This gave the consumer (me) more options to weigh; Sling TV, YouTube TV, Hulu with Live TV, DirecTV Now, Amazon Prime Video, Playstation Vue, fuboTV, Philo, Acron TV. During Super Bowl LII, this <a href="https://www.youtube.com/watch?v=kIsiitITIes" target="_blank" rel="noreferrer">YouTube TV Super Bowl Kickoff Ad</a> played about 100x in front of my eyes. The $35 price point and stunning UI made me re-evaluate my current plan seen below.</p> <blockquote> <p>My self-survey came back as sports, sports, and a lot of HBO. That’s why I went with Sling TV Orange/Blue + Cloud DVR &amp; Sports Extra.</p> </blockquote> <p>Starting a YTTV free 7-day trial made me immediately realize after logging in I was not getting the most for my money and using a far inferior product. Then when I did a simple comparison by dollars, I was roughly paying $15 more for just the NHL Network. But it wasn't just that, it was the YTTV core features that made it elite:</p> <ul> <li>Local Affiliate Channels<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup></li> <li>1200x720@60fps Channels</li> <li>Excellent Latency on Google Fiber</li> <li>Unlimited Cloud DVR Storage (9 months)</li> <li>Hi-Res Guide Display</li> <li>tvOS Integration</li> </ul> <p>I cut the cord again with <a href="https://tv.youtube.com" target="_blank" rel="noreferrer">YouTube TV</a> and haven't looked back.</p> <h3 id="comparison" tabindex="-1">Comparison <a class="direct-link text-gray-400 dark:text-gray-600" href="#comparison" aria-label="permalink to comparison" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <table> <thead> <tr> <th></th> <th>Google Fiber</th> <th>Sling TV</th> <th>YouTube TV</th> </tr> </thead> <tbody> <tr> <td>TV Service</td> <td>$60</td> <td>$45</td> <td>$35</td> </tr> <tr> <td>Extra Box/DVR</td> <td>$5</td> <td>$5</td> <td>$0</td> </tr> <tr> <td>Sports Plus</td> <td>$10</td> <td>$10</td> <td>$0</td> </tr> <tr> <td>HBO</td> <td>$20</td> <td>$15</td> <td>$15</td> </tr> <tr> <td>March Hike</td> <td>$20</td> <td>$0</td> <td>$0</td> </tr> <tr> <td><strong>Total</strong></td> <td><strong>$115</strong></td> <td><strong>$75</strong></td> <td><strong>$50</strong></td> </tr> </tbody> </table> </div> <section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://en.wikipedia.org/wiki/Over-the-top_media_services" target="_blank" rel="noreferrer">&quot;Over-the-top media services&quot;</a>. Retrieved June 7, 2018. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="https://support.google.com/youtubetv/answer/7068923" target="_blank" rel="noreferrer">&quot;YouTube TV Help - Available locations&quot;</a>. Retrieved June 22, 2018. <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Cut the Cord Please 2018-01-14T23:00:00Z https://conr.dev/posts/2018/01/cut-the-cord-please/ <div class="col-start-3 col-end-9"> <p>The day that Google Fiber was installed in my front yard was a day I'll never forget.<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> Gigabit internet, 100's of Channels, a 2 TBs DVR, it was all making my mouth water.</p> <p><a href="https://twitter.com/conrmahr/status/715578970159333376" target="_blank" rel="noreferrer">https://twitter.com/conrmahr/status/715578970159333376</a></p> <p>But it was pricey. Fiber 1000 + TV base price was $130 when signing up last year and $120 originally. The 1000Mbps for $70 was always worth it because of the value. Gigabit internet is 1000Mbps, that's roughly 14.28Mbps per dollar! For the TV service, it was always a little rich for my blood. Then I got this...</p> <blockquote> <p>Starting March 2018, the price of TV will increase by $20 a month. - Google Fiber</p> </blockquote> <p>Today is my first day to <a href="https://twitter.com/search?q=%23cutthecord" target="_blank" rel="noreferrer">#cutthecord</a>.</p> <h3 id="choosing-your-subscriptions" tabindex="-1">Choosing Your Subscriptions <a class="direct-link text-gray-400 dark:text-gray-600" href="#choosing-your-subscriptions" aria-label="permalink to choosing-your-subscriptions" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Choosing what services to subscribe to can be overwhelming. But doing a simple survey of all the channels you watch regularly or must have is a good practice to start with. Then you can eliminate the services that don't fit your watching habits by looking at a channel comparison chart.<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup> Or maybe you don't need a traditional channels, but Netflix and/or Hulu Plus work just fine.</p> <h3 id="building-my-plan" tabindex="-1">Building My Plan <a class="direct-link text-gray-400 dark:text-gray-600" href="#building-my-plan" aria-label="permalink to building-my-plan" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>My self-survey came back as sports, sports, and a lot of HBO. That's why I went with Sling TV Orange/Blue + Cloud DVR &amp; Sports Extra. It had the best channels for the NHL (NHL Network) or the English Premier League (NBC Sports), which are usually extra or not available at all. To get a weekly dose of Last Week Tonight or a full season of Game of Thrones, I subscribe to <a href="https://www.hbonow.com" target="_blank" rel="noreferrer">HBO NOW</a> independently to use their far superior designed app. But the biggest challenge when cutting the cord is watching your local affiliates. The <a href="https://amzn.to/2WpSShs" target="_blank" rel="noreferrer">Mohu Leaf Ultimate Flat 50 Mile</a> works for my in my suburb location. Those who live in the city may only need a 30 Mile though. With having Gigabit internet, I've also set up a Gigabit network at my home so I can hardwire my <a href="https://www.apple.com/apple-tv-4k" target="_blank" rel="noreferrer">Apple TV 4K</a> via a network cable. Apple TV users: Make sure that you know that the Apple TV 4th Generation or older, <strong>do not support gigabit speeds</strong>.<sup class="footnote-ref"><a href="#fn3" id="fnref3">[3]</a></sup></p> <h2 id="comparison" tabindex="-1">Comparison <a class="direct-link text-gray-400 dark:text-gray-600" href="#comparison" aria-label="permalink to comparison" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h2> <table> <thead> <tr> <th></th> <th>Google Fiber</th> <th>Sling TV</th> </tr> </thead> <tbody> <tr> <td>TV Service</td> <td>$60</td> <td>$45</td> </tr> <tr> <td>Extra Box/DVR</td> <td>$5</td> <td>$5</td> </tr> <tr> <td>Sports Plus</td> <td>$10</td> <td>$10</td> </tr> <tr> <td>HBO</td> <td>$20</td> <td>$15</td> </tr> <tr> <td>March Hike</td> <td>$20</td> <td>$0</td> </tr> <tr> <td><strong>Total</strong></td> <td><strong>$115</strong></td> <td><strong>$75</strong></td> </tr> </tbody> </table> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://fiber.googleblog.com/2011/03/ultra-high-speed-broadband-is-coming-to.html" target="_blank" rel="noreferrer">&quot;Ultra high-speed broadband is coming to Kansas City, Kansas&quot;</a>. Retrieved March 30, 2011. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="https://www.cnet.com/news/youtube-tv-vs-sling-tv-vs-directv-now-vs-playstation-vue-channel-lineups-compared/" target="_blank" rel="noreferrer">&quot;Everything in the live-TV-streaming universe: Channel lineups compared&quot;</a>. Retrieved July 7, 2017. <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> <li id="fn3" class="footnote-item"><p><a href="https://support.apple.com/kb/SP724?locale=en_US" target="_blank" rel="noreferrer">&quot;Apple TV (4th generation) - Technical Specifications&quot;</a>. Retrieved November 1, 2017. <a href="#fnref3" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Code Music: Hurry Up We're Dreaming 2016-06-29T23:00:00Z https://conr.dev/posts/2016/06/code-music-hurry-up-were-dreaming/ <div class="col-start-3 col-end-9"> <p>This double-album has kept me going for hundreds, maybe thousands of hours of programming. Being a child of the '80s, the synthesizer has a special place in my heart. The way Anthony Gonzalez of <a href="http://ilovem83.com" target="_blank" rel="noreferrer">M83</a> composes all 22 tracks, is like one 80 minute continuous song. No need to skip tracks. It works best when you set &quot;Repeat Album&quot; and enter another world of creativity.</p> <p><a href="https://soundcloud.com/conrmahr/sets/code-music-were-dreaming" target="_blank" rel="noreferrer">https://soundcloud.com/conrmahr/sets/code-music-were-dreaming</a></p> </div> Code Music is My Coffee 2016-06-24T23:00:00Z https://conr.dev/posts/2016/06/code-music-is-my-coffee/ <div class="col-start-3 col-end-9"> <p>Everyone has their own way to be creative when they code. Four cups of black coffee, a &quot;jar&quot; of Peanut Butter M&amp;M'S, a 64-oz 7-Eleven Diet Dr. Pepper Big Gulp, or just music. If you are a former musician like me, than it's your preferred method. Rob Birdwell blogged about The Relationship Between Programming and Music<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> in 2003. Then in 2009 Jeff Atwood from Coding Horror revisited it with The One Thing Programmers and Musicians Have In Common<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p> <p>Every website I've built has an album that helped me build it. Even the first one wasn't possible without The Bends by Radiohead.</p> <p>There would be many others. Others that I will share using this tag: <a href="/tags/Code%20Music/" target="_blank" rel="noreferrer">#Code Music</a></p> <p>Enjoy.</p> <p><a href="https://soundcloud.com/radiohead/the-bends" target="_blank" rel="noreferrer">https://soundcloud.com/radiohead/the-bends</a></p> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="http://weblogs.asp.net/rbirdwell/37643" target="_blank" rel="noreferrer">&quot;The relationship between programming and music&quot;</a>. Retrieved Friday, November 14, 2003. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="https://blog.codinghorror.com/the-one-thing-programmers-and-musicians-have-in-common" target="_blank" rel="noreferrer">&quot;The One Thing Programmers and Musicians Have In Common&quot;</a>. Retrieved January 20, 2009. <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Ethernet Priority Over Wi-Fi 2016-06-15T23:00:00Z https://conr.dev/posts/2016/06/ethernet-priority-over-wifi/ <div class="col-start-3 col-end-9"> <p>Being spoiled with a 100Mbps/100Mbps internet connection in a <a href="https://flic.kr/p/5sob2" target="_blank" rel="noreferrer">South Korean apartment</a> by myself <strong>10 years ago</strong>, has always made me make sure I'm getting most optimal speeds from my ISP.</p> <p>What about at your office? Is your main device a laptop? Are you stationary at a desk for a majority of the day Do you have both Ethernet and Wi-Fi available? Which do I choose???</p> <p>In the contemporary workplace, the answers to all of these questions are usually YES.</p> <blockquote> <p>Ok, but why would I want to plug in, WiFi is soooo much faster than my home DSL internet, Bro.</p> </blockquote> <p>Yes, your work WiFi streams Netflix way better at work than home, but unless your corporate laptop along with office APs are 802.11ac 1300+ capable then you're going to see a speed difference between wired and wireless.</p> <blockquote> <p>I got it. Connect to both of them! Double-Internet!!</p> </blockquote> <p>Not quite. Without going into the technical details your computer can only use one connection and you would think Ethernet would be the one that gets priority. That's not the case with both OS X and Windows.</p> <p>Set Ethernet priority over WiFi to maximize your bandwidth.</p> <h3 id="os-x" tabindex="-1">OS X<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> <a class="direct-link text-gray-400 dark:text-gray-600" href="#os-x" aria-label="permalink to os-x" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <ul> <li>Choose Apple menu &gt; System Preferences, then click Network.</li> <li>Click the Action pop-up menu, Tool icon, then choose Set Service Order.</li> <li>Drag a service, such as Ethernet, to the top of the list.</li> <li>Click OK, then click Apply to make the new settings active.</li> </ul> <h3 id="windows" tabindex="-1">Windows<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup> <a class="direct-link text-gray-400 dark:text-gray-600" href="#windows" aria-label="permalink to windows" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <ul> <li>Click Start and, in the search field, type View network connections.</li> <li>Press the ALT key, click Advanced Options and then click Advanced Settings...</li> <li>Select Local Area Connection and click the green arrows to give priority to the desired connection.</li> <li>After organizing the network connections available according to your preferences, click OK.</li> </ul> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="https://support.apple.com/kb/PH21578" target="_blank" rel="noreferrer">&quot;OS X El Capitan: Change the priority of your network connections&quot;</a>. Retrieved September 30, 2015. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="https://support.microsoft.com/en-us/kb/2526067" target="_blank" rel="noreferrer">&quot;How to change the network connection priority in Windows 7&quot;</a>. Retrieved February 7, 2013. <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Donut Not Doughnut Slack 2016-06-03T23:00:00Z https://conr.dev/posts/2016/06/donut-not-doughnut-slack/ <div class="col-start-3 col-end-9"> <p>Today is National Donut Day and my kid-like mind is disappointed not to find a <code>:donut:</code> emoji code<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>, but only the <code>:doughnut:</code> code in <a href="https://slack.com" target="_blank" rel="noreferrer">Slack</a>.</p> <p><a href="https://vine.co/v/iYdPJTEQ2gD/" target="_blank" rel="noreferrer">https://vine.co/v/iYdPJTEQ2gD/</a></p> <p>This delicious Salvation Army curated day<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>, served coffee and donuts to soldiers in the trenches of World War I. Now it needs to be celebrated throughout the internets in binary form without regional linguistical bias and don't forget free <em>overpriced</em> donuts!</p> <p>P.S. - I ❤ Slack.</p> </div><section class="col-start-3 col-end-9"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p><a href="http://www.emoji-cheat-sheet.com" target="_blank" rel="noreferrer">&quot;Emoji and emoticons – Slack Help Center&quot;</a>. Retrieved Friday 3, 2016. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> <li id="fn2" class="footnote-item"><p><a href="http://centralusa.salvationarmy.org/metro/donutdayhistory/" target="_blank" rel="noreferrer">&quot;The Salvation Army Metropolitan Division - The History of Donut Day&quot;</a>. Retrieved Friday 3, 2016. <a href="#fnref2" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Testing WebMention 2016-05-22T23:00:00Z https://conr.dev/posts/2016/05/testing-webmention/ <div class="col-start-3 col-end-9"> <p>Testing <a href="https://webmention.rocks/test/1" target="_blank" rel="noreferrer">#1</a> Testing <a href="https://webmention.rocks/test/2" target="_blank" rel="noreferrer">#2</a> Testing <a href="https://webmention.rocks/test/3" target="_blank" rel="noreferrer">#3</a> Testing <a href="https://webmention.rocks/test/4" target="_blank" rel="noreferrer">#4</a> Testing <a href="https://webmention.rocks/test/5" target="_blank" rel="noreferrer">#5</a> Testing <a href="https://webmention.rocks/test/6" target="_blank" rel="noreferrer">#6</a> Testing <a href="https://webmention.rocks/test/7" target="_blank" rel="noreferrer">#7</a> Testing <a href="https://webmention.rocks/test/8" target="_blank" rel="noreferrer">#8</a> Testing <a href="https://webmention.rocks/test/9" target="_blank" rel="noreferrer">#9</a> Testing <a href="https://webmention.rocks/test/10" target="_blank" rel="noreferrer">#10</a> Testing <a href="https://webmention.rocks/test/11" target="_blank" rel="noreferrer">#11</a> Testing <a href="https://webmention.rocks/test/12" target="_blank" rel="noreferrer">#12</a> Testing <a href="https://webmention.rocks/test/13" target="_blank" rel="noreferrer">#13</a> Testing <a href="https://webmention.rocks/test/14" target="_blank" rel="noreferrer">#14</a> Testing <a href="https://webmention.rocks/test/15" target="_blank" rel="noreferrer">#15</a> Testing <a href="https://webmention.rocks/test/16" target="_blank" rel="noreferrer">#16</a> Testing <a href="https://webmention.rocks/test/17" target="_blank" rel="noreferrer">#17</a> Testing <a href="https://webmention.rocks/test/18" target="_blank" rel="noreferrer">#18</a> Testing <a href="https://webmention.rocks/test/19" target="_blank" rel="noreferrer">#19</a> Testing <a href="https://webmention.rocks/test/20" target="_blank" rel="noreferrer">#20</a> Testing <a href="https://webmention.rocks/test/21" target="_blank" rel="noreferrer">#21</a></p> <p>Thanks <a href="https://webmention.rocks" target="_blank" rel="noreferrer">https://webmention.rocks</a>!</p> </div> Blog Like No One's Reading 2016-05-06T23:00:00Z https://conr.dev/posts/2016/05/blog-like-no-ones-reading/ <div class="col-start-3 col-end-9"> <p>Not having published one blog post in five years is quite embarrassing. More importantly, what I've learned in that time has been invaluable and to hold that in my head is selfish. This is why I'm taking the advice of a Web Legend, <a href="http://www.zeldman.com" target="_blank" rel="noreferrer">Jeffrey Zeldman</a>.</p> <p><a href="https://twitter.com/jensimmons/status/661240927952875520" target="_blank" rel="noreferrer">https://twitter.com/jensimmons/status/661240927952875520</a></p> <p>You would think after attending three <a href="http://www.aneventapart.com" target="_blank" rel="noreferrer">An Event Apart</a> conferences I would of started already... All joking aside, there's no better time to start (re-start) than now. The goal for me is to document the tricks, hacks, tutorials, bugs, and recommendations that I experience in everyday life. Kind of like the everyone else before me who I've learned from. Technology is an infinite continuum of knowledge that needs to be shared and found. It does no good inside the heads of really smart people.</p> </div> Update: Currently Employed 2011-07-15T23:00:00Z https://conr.dev/posts/2011/07/currently-employed/ <div class="col-start-3 col-end-9"> <p>That's right, I got a j-o-b. Two actually. When it rain it pours. Thanks to all that helped and provided advice. For those still looking, <strong>DON'T GIVE UP!</strong> The hard work will pay off.</p> <blockquote> <p><em>Here's my success story:</em> After a great month in April of applying for jobs and doing good interviews, Company A offered me a contract job at very nice hourly rate, but the week before starting, I had another interview with Company B. Started at Company A, loved it. Didn't hear back from Company B until 3 weeks later. Got a call to do an early morning phone interview, but they gave me no indication if they would offer me a job. That was fine, since I was happy with working at Company A until Company B would call me and offer me the job. It was a full-time permanent position with benefits and a great company to grow with. At this point, most people will be content with what they have, but when a fair salary was mutually agreed upon between us, the decision was made without me having to think about it. It was tough to say goodbye to the great people I just started to get to know, but they understood and agreed that it was the right decision. Now I'm working at Company B and having a blast! Lots of amazing things happening here and hope to make a major impact.</p> </blockquote> </div> S.T.A.R. Answer: Communication Skills 2011-03-29T23:00:00Z https://conr.dev/posts/2011/03/star-communication/ <div class="col-start-3 col-end-9"> <p><em>This post is one of the series of posts in my <a href="/posts/2011/02/star-responses/" target="_blank" rel="noreferrer">S.T.A.R. Answers Series</a> in which I response to behavioral interview questions from my experiences.</em></p> <p><strong>Question:</strong> Give me an example of a time when you were successful in communicating with a difficult person(s) or circumstance?</p> <h3 id="situation" tabindex="-1">Situation <a class="direct-link text-gray-400 dark:text-gray-600" href="#situation" aria-label="permalink to situation" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>A class of 30 Korean Graduate students with advanced to beginner level of English abilities.</p> <h3 id="task" tabindex="-1">Task <a class="direct-link text-gray-400 dark:text-gray-600" href="#task" aria-label="permalink to task" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Teach a non-language subject to a wide range of English abilities in a Graduate level class.</p> <h3 id="action" tabindex="-1">Action <a class="direct-link text-gray-400 dark:text-gray-600" href="#action" aria-label="permalink to action" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Taught with visual methods using PowerPoint, class presentations, and group work.</p> <h3 id="result" tabindex="-1">Result <a class="direct-link text-gray-400 dark:text-gray-600" href="#result" aria-label="permalink to result" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>All students improved their own language ability and were comfortable communicating to myself along with their peers at the end of the semester.</p> S.T.A.R. Answer: Creativity 2011-02-24T23:00:00Z https://conr.dev/posts/2011/02/star-creativity/ <div class="col-start-3 col-end-9"> <p><em>This post is one of the series of posts in my <a href="/posts/2011/02/star-responses/" target="_blank" rel="noreferrer">S.T.A.R. Answers Series</a> in which I response to behavioral interview questions from my experiences.</em></p> <p><strong>Question:</strong> Describe a time when you came up with a creative solution/idea/project/report to a problem in your past work.</p> <h3 id="situation" tabindex="-1">Situation <a class="direct-link text-gray-400 dark:text-gray-600" href="#situation" aria-label="permalink to situation" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>A University updated their daily annoucements and events manually to the website front page through their Web Manager.</p> <h3 id="task" tabindex="-1">Task <a class="direct-link text-gray-400 dark:text-gray-600" href="#task" aria-label="permalink to task" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>To skip this tedious process and allow multiple co-workers to add announcements and events to the website front page instantaneously.</p> <h3 id="action" tabindex="-1">Action <a class="direct-link text-gray-400 dark:text-gray-600" href="#action" aria-label="permalink to action" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Created a Twitter account and embeded it's feed in the main page using JavaScript and CSS which allowed all office members to add their content at anytime.</p> <h3 id="result" tabindex="-1">Result <a class="direct-link text-gray-400 dark:text-gray-600" href="#result" aria-label="permalink to result" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The University saw an increase in applications and a 13% increase in student enrollment the semester after it was implemented. But most importantly, it gave more flexibility and time efficiency to the office workflow.</p> </div> S.T.A.R. Answer: Problem Solving 2011-02-23T23:00:00Z https://conr.dev/posts/2011/02/s-t-a-r-problem-solving/ <div class="col-start-3 col-end-9"> <p><em>This post is one of the series of posts in my <a href="/posts/2011/02/star-responses/" target="_blank" rel="noreferrer">S.T.A.R. Answers Series</a> in which I response to behavioral interview questions from my experiences.</em></p> <p><strong>Question:</strong> Some problems require developing a unique approach. Tell about a time when you were able to develop a different problem-solving approach.</p> <h3 id="situation" tabindex="-1">Situation <a class="direct-link text-gray-400 dark:text-gray-600" href="#situation" aria-label="permalink to situation" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>A local business had no marketing strategy or social media presence for it's new website launch with e-commerce.</p> <h3 id="task" tabindex="-1">Task <a class="direct-link text-gray-400 dark:text-gray-600" href="#task" aria-label="permalink to task" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Provide a strategy that involves Push and Pull methods to draw traffic to it's website and provide a channel for customer interaction to promote it's new online catering section.</p> <h3 id="action" tabindex="-1">Action <a class="direct-link text-gray-400 dark:text-gray-600" href="#action" aria-label="permalink to action" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Created a Facebook Page with a Facebook Ads Campaign targeting potential customers within the 30 mile radius requirement for catering service.</p> <h3 id="result" tabindex="-1">Result <a class="direct-link text-gray-400 dark:text-gray-600" href="#result" aria-label="permalink to result" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>The Facebook Page active members increased by 400% and online catering orders doubled during the one month ad campaign.</p> </div> S.T.A.R. Response 2011-01-15T23:00:00Z https://conr.dev/posts/2011/01/star-responses/ <div class="col-start-3 col-end-9"> <p>Setting up an interview can be one of the most exciting and scary events if you are not prepared. The interview questions can be straight-forward as <em>&quot;What are your career goals&quot;</em> to complex behavior questions such as <em>&quot;Give me an example of a challenge you experienced and how you dealt with it&quot;</em>.</p> <p>How can you prepare to answer these open-ended behavioral, emotional, and story telling questions that they may ask you?</p> <h3 id="look-to-the-stars!" tabindex="-1">Look to the STARs! <a class="direct-link text-gray-400 dark:text-gray-600" href="#look-to-the-stars!" aria-label="permalink to look-to-the-stars!" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p><a href="http://en.wikipedia.org/wiki/Situation,_Task,_Action,_Result" target="_blank" rel="noreferrer">Situation-Task-Action-Result</a></p> <p>If the STAR technique is new to you, then read more from <a href="http://web.mit.edu/career/www/workshops/interviewing.pdf" target="_blank" rel="noreferrer">The MIT Career Office - Successful Interviewing Techniques</a> (PDF).</p> <h3 id="let's-take-it-one-step-further-for-the-digitally-inclined." tabindex="-1">Let's take it one step further for the digitally inclined. <a class="direct-link text-gray-400 dark:text-gray-600" href="#let's-take-it-one-step-further-for-the-digitally-inclined." aria-label="permalink to let's-take-it-one-step-further-for-the-digitally-inclined." title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> <p>Make a flow chart using Excel. Here, use mine to get you started. <a href="https://res.cloudinary.com/conrmahr/raw/upload/v1653344525/conr.dev/hireconor-star.xlsx" target="_blank" rel="noreferrer">Click to download</a>.</p> <figure class="mb-10"><img loading="lazy" src="https://res.cloudinary.com/conrmahr/image/upload/q_auto,f_auto,w_400/conr.dev/xlsx-star.webp" srcset="https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_400/conr.dev/xlsx-star.webp 400w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_600/conr.dev/xlsx-star.webp 600w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_768/conr.dev/xlsx-star.webp 768w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_820/conr.dev/xlsx-star.webp 820w, https://res.cloudinary.com/conrmahr/image/upload/dpr_auto,q_auto,w_1240/conr.dev/xlsx-star.webp 1240w" alt="STAR Responses Excel Spreadsheet" width="400" height="300"><figcaption class="text-center text-sm mt-3 text-gray-600 dark:text-gray-200">STAR Responses Excel Spreadsheet</figcaption></figure> <p>Look at the job posting you're interviewing for. Do you see keywords to match your STAR responses? Some might overlap.</p> <blockquote> <p><strong>Skills</strong></p> <p>Strong technical knowledge Strong interpersonal and communication skills Analytical and detail orientated Pro-active and able to work independently Proven ability to work effectively in a team</p> </blockquote> <p>Now <strong>PRACTICE</strong> by answering any of these <a href="http://career-advice.monster.com/job-interview/interview-questions/100-potential-interview-questions/article.aspx" target="_blank" rel="noreferrer">Behavioral Interview Questions</a> from Monster. Matching your keywords with the questions will make your responses prepared for any behavioral question.</p> <h3 id="look-for-my-s.t.a.r.-answers-based-on-job-keywords-in-the-near-future!" tabindex="-1">Look for my S.T.A.R. Answers based on job keywords in the near future! <a class="direct-link text-gray-400 dark:text-gray-600" href="#look-for-my-s.t.a.r.-answers-based-on-job-keywords-in-the-near-future!" aria-label="permalink to look-for-my-s.t.a.r.-answers-based-on-job-keywords-in-the-near-future!" title="Anchor link for easy sharing." target="_blank" rel="noreferrer">#</a></h3> </div>