<?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>Forem: Jason Clark</title>
    <description>The latest articles on Forem by Jason Clark (@riceboyler).</description>
    <link>https://forem.com/riceboyler</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%2F563816%2Fff038a81-dc9c-4ad5-a7ec-5f2c9e56cc8e.png</url>
      <title>Forem: Jason Clark</title>
      <link>https://forem.com/riceboyler</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/riceboyler"/>
    <language>en</language>
    <item>
      <title>The Impact of Season Depression (SAD)</title>
      <dc:creator>Jason Clark</dc:creator>
      <pubDate>Fri, 20 Jan 2023 00:51:44 +0000</pubDate>
      <link>https://forem.com/riceboyler/the-impact-of-season-depression-sad-348</link>
      <guid>https://forem.com/riceboyler/the-impact-of-season-depression-sad-348</guid>
      <description>&lt;p&gt;As I get older (I'll be 48 in March), I have come to recognize the huge impact that Seasonal Affective Disorder (SAD) (aka Seasonal Depression) has on my life, my relationships, and my work. Depression is so much more than just feeling "down" or "sad". It impacts nearly every facet of your life and while dealing with perpetual depression is hard enough, having that depression be magnified in the winter can make life seem somewhat hopeless.&lt;/p&gt;

&lt;p&gt;Throughout my career as a web developer, I've always LOVED working on freelance projects; whether they be for another company/interested party or just a tinkering project for me, freelance time has always been rewarding. Earlier this week, I complained to my wife that I just didn't have any desire to work on anything outside of my day job because nothing sounded fun. Luckily, I have an amazing wife who recognizes when I'm affected by SAD more than I do, and she simply reminded me that my lack of drive was likely due to my brain.&lt;/p&gt;

&lt;p&gt;Seasonal depression (or the "winter blues") affects millions of people across the world. And it's not as though you have to hate winter to be impacted by it. I love winter. I love snow. I chose to move to Boston, MA, USA. I then chose to move to Reno, NV, USA (which despite being in the desert still sees plenty of snow each winter). But I can't ignore the impact that the season has on my psyche, my desire to do anything more than survive, and my relationships with others.&lt;/p&gt;

&lt;p&gt;If you're a manager of people, be sure to watch for different behavior in the winter from your team members. If a person who was very productive, outgoing and a real benefit to the team suddenly becomes complacent, moody or withdrawn when the seasons change, it's highly likely they suffer from seasonal depression. If you're lucky enough to work for an amazing company that offers free mental health benefits (Chatbooks partner with Tava Health, for instance), take advantage of those benefits for yourself and for your team members.&lt;/p&gt;

&lt;p&gt;As with most things where mental health is concerned, the absolute worst thing you can do is turn a blind eye to it. It's also not sufficient to ignore behaviors, but it is vital to be empathetic. Some suggestions to help would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Increase your interactivity with people during the winter months&lt;/li&gt;
&lt;li&gt;Use a &lt;a href="https://www.prevention.com/health/mental-health/a25940709/happy-light-lamp-therapy/" rel="noopener noreferrer"&gt;"happy light" &lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Make excuses to leave your house, even if it's cold/snowy/blustery&lt;/li&gt;
&lt;li&gt;If you're a remote worker, look for additional ways to interact with your team at work and your neighbors and friends&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm not a doctor, I don't play one on TV, nor did I stay at a Holiday Inn Express last night. I don't have any great revelations about how to suddenly make SAD less impactful. But I do have a voice to tell others what to look out for. Keep in mind, it will get better, even if it just takes until Spring to do so.&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>Coding exercises are a good way to find the wrong engineers...</title>
      <dc:creator>Jason Clark</dc:creator>
      <pubDate>Fri, 29 Jul 2022 01:33:15 +0000</pubDate>
      <link>https://forem.com/riceboyler/coding-exercises-are-a-good-way-to-find-the-wrong-engineers-1ko8</link>
      <guid>https://forem.com/riceboyler/coding-exercises-are-a-good-way-to-find-the-wrong-engineers-1ko8</guid>
      <description>&lt;p&gt;About 10 years ago, I decided that it would be a good idea if I interviewed with companies even if I wasn't looking for a new job just to keep my interview skills (and coding skills) sharp. I typically take at least 6 months after I start a new job to get settled, etc., though with my most recent job change, I waited more like 12 months just because I had so much to take care of.&lt;/p&gt;

&lt;p&gt;(Hopefully, my boss is aware that I'm not actively looking to leave before he reads this!) So, I've had the opportunity to complete a couple of interviews in the last few months and they reminded me of my frustrations that I've experienced as a Senior/Lead/Principal Front-End Web Developer throughout my career. Those frustrations are almost entirely related to the coding exercises that so many companies have in place as a form of gatekeeping.&lt;/p&gt;

&lt;p&gt;I've been pondering on my issues with these coding exercises for awhile now, and I've come up with 3 big gripes about them. &lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Coding exercises rarely resemble day-to-day work&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Coding exercises punish non-traditional engineers&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills analyzed by coding exercises are a tiny piece of an engineer's makeup&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Coding exercises rarely resemble day-to-day work
&lt;/h2&gt;

&lt;p&gt;Let me start by stating that I can only refer to my own experience as a front-end web developer, so my argument here is largely framed in that context. 95% of the coding exercises I've had to complete as part of an interview process have been administered by a backend developer (or a full-stack developer who was certainly more backend focused). 95% of them have had absolutely no HTML or CSS component as part of the exercise. 95% of them have had no discussion of design tools or taking a design from Sketch/Figma/Photoshop and reproducing it with high fidelity in an application. 95% of these coding exercises have been tests of how well an engineer can manipulate data, typically data that should be manipulated on the backend of an API call, not data that needs to be rendered. &lt;/p&gt;

&lt;p&gt;Why? Because with the bulk of the interviewers in the process being Computer Scientists, they want to test on what they know. In one recent exercise, the administrator actually said, "Well, I know how to solve this problem in Java, but not in TypeScript." I should certainly hope you know how to solve the problem you're giving me in your chosen language.&lt;/p&gt;

&lt;p&gt;So, 95% of coding exercises are testing my skills in something I do less than 5% of the time in my job. How does that make any sense? By and large, coding exercises, especially live ones, are focused entirely on demonstrating that you passed your CS301 course in college, not in how you actually build functional web pages/apps. So, hiring managers, if you don't have significant frontend web experience, find someone on your team who does and have them lead the coding exercise.&lt;/p&gt;




&lt;h2&gt;
  
  
  Coding exercises punish non-traditional engineers
&lt;/h2&gt;

&lt;p&gt;Non-traditional can mean many different things, so let me explain what I mean here. Non-traditional in this context means developers who did not follow the Computer Science standard course for becoming a developer. (I should apologize for intermingling engineer and developer as I know this raises some engineer's ire. Strangely, I've never heard a developer complain about it. ;) )&lt;/p&gt;

&lt;p&gt;Non-traditional devs can be self-taught; they may have attended a boot camp for specific skills after graduating with a degree in a different field; they may have followed the CS route, at least partways, and then decided to follow a different path. In my experience, both as a dev and a manager, these non-traditional developers (I am myself self-taught, so I do certainly have a bias) bring a creative take on solutions that tends to fly in the face of the standard CS solutions. &lt;/p&gt;

&lt;p&gt;That creativity is squashed and penalized in most coding exercises. In a recent exercise, I was told I was disallowed from using &lt;code&gt;if&lt;/code&gt; statements in my solution. WHY? What does that prove other than that I know how to use alternatives to branching logic. If an &lt;code&gt;if&lt;/code&gt; statement makes sense, why not use it??? If the interviewee wants to solve the problem in a completely different way and uses non-standard coding approaches, they are typically shut down by the proctor because they aren't doing it the right way. Don't we want some creative solutions? Don't we want at least a few people who are able to think outside the box (or the AST)?&lt;/p&gt;




&lt;h2&gt;
  
  
  Skills analyzed by coding exercises are a tiny piece of an engineer's makeup
&lt;/h2&gt;

&lt;p&gt;Hopefully, most hiring managers recognize that the coding exercise should be a tool for evaluating a developer, not the whole kit and caboodle. There's no doubt, however, that managers for larger Silicon Valley firms are more interested in weeding out people rather than finding that proverbial needle in the haystack.&lt;/p&gt;

&lt;p&gt;I have worked with engineers in the past who absolutely KILLED the coding exercise, but turned out to be black holes for the team they joined because they had no people skills. I've seen developers who absolutely KILLED the coding exercise who couldn't ship a piece of code for months because it wasn't perfect. &lt;/p&gt;

&lt;p&gt;I'm going make a very controversial statement here:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For most engineers with more than 3 years of direct work experience, coding exercises are an absolute waste of time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If a candidate has been writing code for 3 or more years, unless your coding exercise is merely there to weed out people for a specific reason, your time as a team and hiring manager would be far better spent talking about how to solve certain issues in general terms. Architectural discussions can demonstrate how well a developer can think about complex issues and break them down to solve them more easily. Find out how they keep up with technology and the new changes to languages/frameworks/platforms. Talk about open source contributions and why they do/don't matter.&lt;/p&gt;

&lt;p&gt;Talking to a candidate for a senior or higher level position is a far better indicator of interpersonal skills, dedication to shipping code, understanding how to break down complex problems, etc. &lt;/p&gt;

&lt;p&gt;So, I write this as both an exercise in catharsis, and as a plea to the developer community at large. Quit wasting your time with coding exercises that test a very small piece of work. If you want to see how somebody writes code before you hire them, give them a take home exercise to complete that involves an actual full solution, not just a scratchpad. Then make sure you talk about why they made the choices they did if you feel the need to challenge whether they built it themselves or not. (Let me be honest, if you feel uncomfortable that they wrote it themselves, you probably should step away anyway.)&lt;/p&gt;

&lt;p&gt;Looking back at my experience as a hiring manager, I am grateful to have been given the leeway to interview in the way I needed to find the best candidates. Take the time to really think about what your coding exercise ACTUALLY tells you about your candidates and then evaluate if it's as big of a waste of time as I say it is. &lt;/p&gt;

</description>
      <category>hiring</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Chakra-UI + Next.js - Breaking React "Rules"</title>
      <dc:creator>Jason Clark</dc:creator>
      <pubDate>Thu, 23 Jun 2022 18:41:04 +0000</pubDate>
      <link>https://forem.com/riceboyler/chakra-ui-nextjs-breaking-react-rules-2g01</link>
      <guid>https://forem.com/riceboyler/chakra-ui-nextjs-breaking-react-rules-2g01</guid>
      <description>&lt;p&gt;For the last 7 years doing React development, I've always been of the belief that in those times where you need to render different components based on responsiveness (i.e. media queries), you should always use a ternary based on the responsive breakpoint. In Chakra-UI, this is greatly simplified with the &lt;a href="https://chakra-ui.com/docs/hooks/use-breakpoint-value"&gt;&lt;code&gt;useBreakpointValue&lt;/code&gt;&lt;/a&gt; hook that's provided that returns a value based on what breakpoint the viewport lies within.&lt;/p&gt;

&lt;p&gt;For instance:&lt;br&gt;
&lt;code&gt;const isMobile = useBreakpointValue({ base: true, md: false });&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This is great for traditional client side rendered (CSR) pages, but things are a little different for SSG/SSR pages because it depends on Javascript in order to help evaluate the current viewport.&lt;/p&gt;

&lt;p&gt;For the last few months, we've seen an issue where our statically generated pages at &lt;a href="https://chatbooks.com"&gt;chatbooks.com&lt;/a&gt; would show a brief FOMC (Flash of Mobile Content) before rendering the desktop version. This was especially distracting as we use a considerably different Navbar between mobile and desktop (logo moves, hamburger menu vs supermenu, etc) and so the flash is QUITE noticeable.&lt;/p&gt;

&lt;p&gt;Thankfully, looking at other people's code (specifically, thirdweb.com, THANKS) helped me see the error of my ways. Because these pages are pre-rendered and the HTML is stored, it requires a bit of a mind shift to recognize that adding a little extra HTML isn't a huge deal and will allow for a MUCH better experience, because we now render both mobile and desktop components, but use the &lt;code&gt;display&lt;/code&gt; (with breakpoints) to manage display, which means there is no more FOMC.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;code&gt;&amp;lt;Box display={{ base: 'none', md: 'block|flex|grid'}}&amp;gt;...&amp;lt;/Box&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, obviously, the best solution would be to keep the layouts as similar as possible, but that definitely doesn't always work, and this way, the page renders properly, since CSS loads faster than JS.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>chakraui</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Add Prismic Slice Machine to an NX powered monorepo</title>
      <dc:creator>Jason Clark</dc:creator>
      <pubDate>Mon, 07 Mar 2022 18:17:26 +0000</pubDate>
      <link>https://forem.com/riceboyler/add-prismic-slice-machine-to-an-nx-powered-monorepo-2dp3</link>
      <guid>https://forem.com/riceboyler/add-prismic-slice-machine-to-an-nx-powered-monorepo-2dp3</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;If you're a Prismic CMS user and also use NX to manage a monorepo, getting Slice Machine up and running using the &lt;code&gt;npx @slicemachine/init&lt;/code&gt; command frankly just will not work. So, I went through the steps to actually make it work in our Chatbooks monorepo, and wanted to share what I did.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add Dependencies and setup &lt;code&gt;package.json&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;First, we use yarn, but you could easily replace yarn with npm in most scenarios below. We need the slice-machine dependencies installed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn add @prismicio/slice-simulator-react next-slicezone slice-machine-ui

npx nx g @nrwl/next:application slice-machine
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In &lt;code&gt;package.json&lt;/code&gt;, add a command to run slice-machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="s2"&gt;"slicemachine"&lt;/span&gt;: &lt;span class="s2"&gt;"start-slicemachine"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Setup &lt;code&gt;sm.json&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;del&gt;To initialize your slicemachine files, run &lt;code&gt;npx sm init&lt;/code&gt; and follow the prompts.&lt;/del&gt; &lt;em&gt;I attempted to use &lt;code&gt;sm init&lt;/code&gt; and it returned an error, so I just manually created the &lt;code&gt;sm.json&lt;/code&gt; file as below.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Create an &lt;code&gt;sm.json&lt;/code&gt; file in the root of your NX repo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"apiEndpoint"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://{{your_repo_name}}.prismic.io/api/v2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"libraries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"@/apps/slice-machine/slices"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"_latest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.1.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"localSliceSimulatorURL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http://localhost:4200/slice-simulator"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you should be able to run &lt;code&gt;yarn slicemachine&lt;/code&gt; and it will output the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fl76i60lsj164tchp3j1e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fl76i60lsj164tchp3j1e.png" alt="yarn slicemachine output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keep in mind that Slice Machine runs independently from NX, so the port number shown above is valid. Visit &lt;a href="http://localhost:9999" rel="noopener noreferrer"&gt;http://localhost:9999&lt;/a&gt; in your browser and you should see the Slice Machine UI.&lt;/p&gt;




&lt;h2&gt;
  
  
  Create your first slice
&lt;/h2&gt;

&lt;p&gt;In order to make the Slice Simulator setup go a little more smoothly, you should create a base initial slice. On the Slice Machine UI, click the "Create my first Slice" button, as seen below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fzoywor9i5y4grxaha9zk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fzoywor9i5y4grxaha9zk.png" alt="Create First Slice Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd recommend you just name it something like "BaseSlice" so you can refer back to it in the future. Once you enter the name and hit Save, Slice Machine will auto-generate the code for it in &lt;code&gt;/apps/slice-machine/slices&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Enable Slice Simulator
&lt;/h2&gt;

&lt;p&gt;To enable Slice Simulator, you can follow the instructions here: &lt;a href="https://prismic.io/docs/technologies/setup-slice-simulator-nextjs" rel="noopener noreferrer"&gt;https://prismic.io/docs/technologies/setup-slice-simulator-nextjs&lt;/a&gt;, but remember that the &lt;code&gt;slice-simulator.jsx&lt;/code&gt; file should go in the &lt;code&gt;/apps/slice-machine/pages&lt;/code&gt; folder. &lt;/p&gt;

&lt;p&gt;Also, you’ll need to update your path to &lt;code&gt;/.slicemachine/libraries-state.json&lt;/code&gt; to &lt;code&gt;../../../.slicemachine/libraries-state.json&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;(Aside: even if you use TypeScript everywhere else, it’s best to keep this file as a &lt;code&gt;.jsx&lt;/code&gt; rather than a &lt;code&gt;.tsx&lt;/code&gt; because the types will not resolve correctly without a lot of lifting, and the reality is, slice-simulator is not really something you have to worry about once it’s created.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While getting Slice Machine up and running isn't as simple as a single command when using NX, it's still pretty trivial and just requires a little bit of reworking. Hopefully, this will help you down the path, if you need to add Slice Machine to an NX repo.&lt;/p&gt;

</description>
      <category>prismic</category>
      <category>nextjs</category>
      <category>nx</category>
      <category>monorepo</category>
    </item>
    <item>
      <title>New platform, who dis?</title>
      <dc:creator>Jason Clark</dc:creator>
      <pubDate>Wed, 20 Jan 2021 19:39:55 +0000</pubDate>
      <link>https://forem.com/riceboyler/new-platform-who-dis-1d31</link>
      <guid>https://forem.com/riceboyler/new-platform-who-dis-1d31</guid>
      <description>&lt;p&gt;I've decided it's time for me to start writing again, and I've been really impressed by the dev.to platform for some time now. A certain platform that starts with M and rhymes with tedium has become far too interested in profit and as a result is making life kinda miserable for content creators and consumers.&lt;/p&gt;

&lt;p&gt;So, a little introduction to me: I'm a front-end web developer currently working for &lt;a href="https://tcn.com"&gt;TCN, Inc.&lt;/a&gt; until 2/1/21 when I will be joining &lt;a href="https://chatbooks.com"&gt;Chatbooks&lt;/a&gt; as their new front-end web lead. I'm very excited to be joining Chatbooks and helping them expand their e-commerce presence on the web!&lt;/p&gt;

&lt;p&gt;I love all things front-end development (except AngularJS) but I especially enjoy working with ReactJS, playing with various CSS libraries (Tailwind, Bulma, etc.) and trying to improve both the user experience and the developer experience.&lt;/p&gt;

&lt;p&gt;On occasion, I get down in the weeds with tooling for developers (like making the perfect shell interface or building cool build tools), but generally, I just like making fun UIs. My first real contentful post will likely be an updated version of "What I Use" as far as terminals, shells, etc.&lt;/p&gt;

&lt;p&gt;For now though, #firstpost is done and I look forward to challenging myself to write weekly.&lt;/p&gt;

</description>
      <category>firstpost</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
