<?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: Alex Sopinka</title>
    <description>The latest articles on DEV Community by Alex Sopinka (@asopinka).</description>
    <link>https://dev.to/asopinka</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%2F396089%2F9b2c10f4-67c2-4a0c-979b-5fdda9ed1f49.jpeg</url>
      <title>DEV Community: Alex Sopinka</title>
      <link>https://dev.to/asopinka</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/asopinka"/>
    <language>en</language>
    <item>
      <title>Week 1-2</title>
      <dc:creator>Alex Sopinka</dc:creator>
      <pubDate>Thu, 11 Jun 2020 04:33:03 +0000</pubDate>
      <link>https://dev.to/asopinka/week-1-2-j57</link>
      <guid>https://dev.to/asopinka/week-1-2-j57</guid>
      <description>&lt;p&gt;Phew! I really don't have time to write updates. It's just not in me I guess 🤷&lt;/p&gt;

&lt;p&gt;We've been grinding away. There are so many moving parts to Obie.&lt;/p&gt;

&lt;p&gt;Some highlights include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;creating in-app drip notifications when onboarding new users&lt;/li&gt;
&lt;li&gt;weekly quotas and reset on a schedule&lt;/li&gt;
&lt;li&gt;managing and fixing bugs in the core Obie product&lt;/li&gt;
&lt;li&gt;managing and fixing bugs in Obie's NLP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's been busy! But we're about to cross the finish line. Like the old saying goes: "It takes 10% of the time to finish 90% of the product... and 90% of the time to finish the last 10% of the product."&lt;/p&gt;

</description>
      <category>startup</category>
      <category>javascript</category>
      <category>obie</category>
    </item>
    <item>
      <title>Days 1 and 2 - Auth</title>
      <dc:creator>Alex Sopinka</dc:creator>
      <pubDate>Thu, 28 May 2020 03:19:54 +0000</pubDate>
      <link>https://dev.to/asopinka/days-1-and-2-auth-38oa</link>
      <guid>https://dev.to/asopinka/days-1-and-2-auth-38oa</guid>
      <description>&lt;p&gt;It wasn't so bad the past couple of days. A stable core product means I can stay head down in some code. And I definitely needed the focus.&lt;/p&gt;

&lt;p&gt;Being a startup, we've moved fast and cut a couple corners here and there over the years. Nothing critical, just not the cleanest code in some places... and of course, that will eventually come back to bite you in the ass.&lt;/p&gt;

&lt;p&gt;After the past couple of days, my ass looks like hamburger meat. I've been bitten a lot. Some key findings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;hardcoded dependencies on Slack being the OAuth provider&lt;/li&gt;
&lt;li&gt;assumptions that we'd have Slack or a similar workplace messaging tool as the initial authentication for new users (with a "team"-like structure)&lt;/li&gt;
&lt;li&gt;duplicate code copy/pasted in multiple places&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Obviously some of the fixes were easy, like the copy/pasted code. Just a little refactoring there. The hardcoded dependencies and assumptions were a little trickier, and required some changes up and down the stack from front-end to database.&lt;/p&gt;

&lt;p&gt;I'm happy to say we've got the Google OAuth implemented and working, intertwined with all the setup steps we take for new Slack users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PmUWDIvY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/de1us4285y2bx719zh9c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PmUWDIvY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/de1us4285y2bx719zh9c.png" alt="Sign in with Google"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the groundwork now set for multiple auth providers, I feel better when inevitably we need to add another "Sign in with XYZ Service".&lt;/p&gt;

&lt;p&gt;Random pro-tip: if you're manually setting cookies to store something temporary, make sure you mark &lt;code&gt;HttpOnly&lt;/code&gt; and &lt;code&gt;Secure&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;

</description>
      <category>startup</category>
      <category>oauth</category>
      <category>refactor</category>
      <category>security</category>
    </item>
    <item>
      <title>Coming Soon: Obie One</title>
      <dc:creator>Alex Sopinka</dc:creator>
      <pubDate>Wed, 27 May 2020 01:37:50 +0000</pubDate>
      <link>https://dev.to/asopinka/coming-soon-obie-one-580n</link>
      <guid>https://dev.to/asopinka/coming-soon-obie-one-580n</guid>
      <description>&lt;p&gt;We're currently planning to release Obie One: a new way for everyday folks to get easy access to their knowledge, wherever it lives. Currently &lt;a href="https://obie.ai"&gt;Obie&lt;/a&gt; lives in Slack only... but all of that is about to change.&lt;/p&gt;

&lt;p&gt;I'll be documenting some of the story behind the scenes, and if I enjoy writing, maybe I'll keep it up forever!&lt;/p&gt;

&lt;p&gt;In case you were wondering... yes, Obie One is a play on "Obi Wan", but there is no relation to the Jedi. Obie is a friendly knowledge beaver... although...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4NMxPGNj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9foeyoyz7a8x4xlfu33k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4NMxPGNj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9foeyoyz7a8x4xlfu33k.jpg" alt="Jedi Beaver"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>hustling</category>
    </item>
  </channel>
</rss>
