<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dave</title>
    <description>The latest articles on DEV Community by Dave (@dorkrawk).</description>
    <link>https://dev.to/dorkrawk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3507927%2F119ab539-2fc9-4808-bfe5-d187383fad8f.png</url>
      <title>DEV Community: Dave</title>
      <link>https://dev.to/dorkrawk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dorkrawk"/>
    <language>en</language>
    <item>
      <title>Happiness Should Be a Career Goal</title>
      <dc:creator>Dave</dc:creator>
      <pubDate>Tue, 23 Sep 2025 15:43:32 +0000</pubDate>
      <link>https://dev.to/dorkrawk/happiness-should-be-a-career-goal-2867</link>
      <guid>https://dev.to/dorkrawk/happiness-should-be-a-career-goal-2867</guid>
      <description>&lt;p&gt;I've written a &lt;a href="https://dontbreakprod.com/posts/know-what-your-goals-are-and-why" rel="noopener noreferrer"&gt;few&lt;/a&gt; &lt;a href="https://dontbreakprod.com/posts/figure-out-how-to-work-towards-your-goals" rel="noopener noreferrer"&gt;recent&lt;/a&gt; &lt;a href="https://dontbreakprod.com/posts/revisit-your-goals-often" rel="noopener noreferrer"&gt;articles&lt;/a&gt; about goals but it's important to call out that happiness is the fundamental goal you should be seeking. Why are you doing any of this if it doesn't ultimately make you happy.&lt;/p&gt;

&lt;p&gt;"Happiness" as a career goal doesn't necessarily mean that everything you do at work will be something you love. There will, of course, be unpleasant things (does anybody actually like being on call?). But the things that are unpleasant should be reasonable trade offs for opportunities that you value.&lt;/p&gt;

&lt;p&gt;Sometimes things will be hard, but hard work that leaves you proud and satisfied is a good path to happiness.&lt;/p&gt;

&lt;p&gt;Happiness as a career goal can also mean saying "no" to good opportunities. If something might be good for your job but bad for other parts of your life, considering overall happiness can help you figure out if the trade offs are worth it.&lt;/p&gt;

&lt;p&gt;Career happiness isn't as simple as avoiding trouble or pursuing advancement, but at a fundamental level it is &lt;strong&gt;the&lt;/strong&gt; goal.&lt;/p&gt;

</description>
      <category>career</category>
      <category>careerdevelopment</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Introducing: Postwave</title>
      <dc:creator>Dave</dc:creator>
      <pubDate>Thu, 18 Sep 2025 17:19:30 +0000</pubDate>
      <link>https://dev.to/dorkrawk/introducing-postwave-4f68</link>
      <guid>https://dev.to/dorkrawk/introducing-postwave-4f68</guid>
      <description>&lt;p&gt;&lt;strong&gt;Postwave is for people who want to build their own website...&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And post things to that site...&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And write those posts in Markdown.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://postwave.blog/" rel="noopener noreferrer"&gt;Postwave&lt;/a&gt; is a Ruby gem for writing posts in Markdown and displaying them dynamically.&lt;/p&gt;

&lt;p&gt;Postwave is great if you want your posts to fit seamlessly into a site you're building, rather than try to customize or theme a blog to turn into your site.&lt;/p&gt;

&lt;p&gt;Authoring in Postwave centers around your terminal and your text editor. New posts are started with a &lt;code&gt;postwave post&lt;/code&gt; command, which creates a new Markdown file for you to start writing. Because posts are written as Markdown files, so there's no need for a database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko5ar7ni8t0azkog5nvx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko5ar7ni8t0azkog5nvx.png" alt="the postwave post command running in a terminal" width="628" height="104"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After writing your posts in Markdown you can then display them however you'd like on your site through the built in &lt;a href="https://github.com/dorkrawk/postwave?tab=readme-ov-file#displaying-posts" rel="noopener noreferrer"&gt;Postwave Ruby client&lt;/a&gt;. This is where Postwave differs from static blog engines like &lt;a href="https://jekyllrb.com/" rel="noopener noreferrer"&gt;Jekyll&lt;/a&gt; or &lt;a href="https://gohugo.io/" rel="noopener noreferrer"&gt;Hugo&lt;/a&gt; which take the Markdown posts and generate a site for you.&lt;/p&gt;

&lt;p&gt;With Postwave, once you've written your posts, it's up to you how you'd like to incorporate them into your site. For example, a page to display a post might look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"post"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;title&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"post-meta"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"post-date"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"%B %e, %Y"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"post-tags"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;tag&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"/tags/&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;tag&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;tag&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
      &lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"post-content"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;body_html&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, why build yet another blogging tool? It's fun! And it scratches an itch I had. Hopefully it's useful for others, too.&lt;/p&gt;

&lt;p&gt;To get started using Postwave check out the &lt;a href="https://github.com/dorkrawk/postwave" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt; or read more about &lt;a href="https://postwave.blog/posts/how-to-set-up-postwave" rel="noopener noreferrer"&gt;setting up Postwave&lt;/a&gt;, &lt;a href="https://postwave.blog/posts/how-to-write-posts" rel="noopener noreferrer"&gt;authoring posts&lt;/a&gt;, and &lt;a href="https://postwave.blog/posts/how-to-display-posts" rel="noopener noreferrer"&gt;displaying them&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Happy posting!&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>webdev</category>
      <category>tooling</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
