<?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: Jakob Attkinson</title>
    <description>The latest articles on DEV Community by Jakob Attkinson (@attkinsonjakob).</description>
    <link>https://dev.to/attkinsonjakob</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%2F236581%2F378abfae-b8c1-4b26-9c97-9dabec25f49e.jpg</url>
      <title>DEV Community: Jakob Attkinson</title>
      <link>https://dev.to/attkinsonjakob</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/attkinsonjakob"/>
    <language>en</language>
    <item>
      <title>How to create 2 MySQL DBs in a single container?</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Sun, 12 Jun 2022 22:32:33 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/how-to-create-2-mysql-dbs-in-a-single-container-2fgl</link>
      <guid>https://dev.to/attkinsonjakob/how-to-create-2-mysql-dbs-in-a-single-container-2fgl</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclaimer: my Docker knowledge is non-existent. I only hack things together whenever I need something from a test project. In this particular case, I hit a wall since I'm not sure what I'm doing.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I am playing with some NodeJS apps, and in order to set up a quick database for my &lt;strong&gt;Windows&lt;/strong&gt; machine, I use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run \
    --detach \
    --env MYSQL_ROOT_PASSWORD=something \
    --env MYSQL_USER=something_else \
    --env MYSQL_PASSWORD=something_new\
    --env MYSQL_DATABASE=something_name \
    --name some_other_name \
    --publish 127.0.0.1:1234:1234 \
    --volume "C:\Database":/var/lib/mysql \
    mysql:8.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This all works great. I get a fast container that I can just &lt;code&gt;docker compose start&lt;/code&gt; from &lt;em&gt;Docker for Windows&lt;/em&gt; and all is great.&lt;/p&gt;

&lt;p&gt;However, I hit a wall now because I am trying to get a second database. Basically, a clone of the first one, with a different name.&lt;/p&gt;

&lt;p&gt;The purpose of the secondary database is to have a dedicated DB for tests. But I'd like it to be in the same docker container, and ideally part of the same script. &lt;/p&gt;

&lt;p&gt;Is this even possible? Any suggestions on how I could achieve this?&lt;/p&gt;

</description>
      <category>docker</category>
      <category>mysql</category>
      <category>windows</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How do you use "find" vs "get" prefix?</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Mon, 30 May 2022 22:32:45 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/how-do-you-use-find-vs-get-prefix-5g8n</link>
      <guid>https://dev.to/attkinsonjakob/how-do-you-use-find-vs-get-prefix-5g8n</guid>
      <description>&lt;p&gt;Coming from a world where "find" and "get" are (were) used interchangeably, I find myself staring at a piece of code for over 10 minutes not being able to decide how to proceed.&lt;/p&gt;

&lt;p&gt;I know naming is one of the most difficult task in programming, however I feel like in this particular case there should be like an unwritten rule for how we should prefix a method.&lt;/p&gt;

&lt;p&gt;To be more specific, let's assume we want to fetch a user from the DB by its ID.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nx"&gt;getOneById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;userRepository&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createQueryBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;u&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;u.id = :id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getOne&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`User with ID "&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;&lt;span class="s2"&gt;" not found.`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The same method can be used to return &lt;code&gt;null&lt;/code&gt; in case the user is not found:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nx"&gt;findOneById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;User&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;userRepository&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createQueryBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;u&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;u.id = :id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getOne&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I'm struggling to decide if I prefer the above or if the &lt;code&gt;find&lt;/code&gt; and &lt;code&gt;get&lt;/code&gt; should be swapped around.&lt;/p&gt;

&lt;p&gt;I don't know if there's any "standard", wasn't able to find anything conclusive.&lt;/p&gt;

&lt;p&gt;What do you think? Does / should the same convention apply regardless of the programming languange?&lt;/p&gt;

</description>
      <category>database</category>
      <category>typescript</category>
      <category>beginners</category>
      <category>api</category>
    </item>
    <item>
      <title>How to learn to set up a project with various technologies?</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Tue, 06 Apr 2021 13:16:07 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/how-to-learn-to-set-up-a-project-with-various-technologies-3n5a</link>
      <guid>https://dev.to/attkinsonjakob/how-to-learn-to-set-up-a-project-with-various-technologies-3n5a</guid>
      <description>&lt;p&gt;I want to learn and practice writing a GraphQL API. I have a fun idea to build something and I want to get started ASAP.&lt;/p&gt;

&lt;p&gt;The biggest issue is that I haven't really set up projects from ground up (Gatsby / Gridsome projects don't count).&lt;/p&gt;

&lt;p&gt;I want to build my API using the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeGraphQL&lt;/li&gt;
&lt;li&gt;Apollo Server (/w Koa)&lt;/li&gt;
&lt;li&gt;Mysql DB + TypeORM&lt;/li&gt;
&lt;li&gt;Typescript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For many front-end projects or REST APIs I can find tons of courses on Udemy and YouTube, yet there ain't much (well, anything really) that makes use of the above.&lt;/p&gt;

&lt;p&gt;Any suggestions on how I should approach this?&lt;/p&gt;

</description>
      <category>graphql</category>
      <category>typescript</category>
      <category>help</category>
    </item>
    <item>
      <title>Explain product ownership to me like I'm five</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Thu, 22 Oct 2020 12:41:10 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/explain-product-ownership-to-me-like-i-m-five-fpd</link>
      <guid>https://dev.to/attkinsonjakob/explain-product-ownership-to-me-like-i-m-five-fpd</guid>
      <description>&lt;p&gt;I have only worked in 3 different companies so far, but everyone seems to have a different meaning for what a Product Owner is and what it does.&lt;/p&gt;

&lt;p&gt;At my current job, the PO just creates JIRA tasks and asks us (devs) what description to add to each of them. On top of that, he does some basic QA and is paid significantly more than a developer.&lt;/p&gt;

&lt;p&gt;While I doubt my company is doing it right, I'd like to hear from someone with more experience what this role actually means and what's supposed to do.&lt;/p&gt;

</description>
      <category>explainlikeimfive</category>
      <category>scrum</category>
    </item>
    <item>
      <title>Help figuring out the architecture of the application </title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Wed, 23 Sep 2020 12:20:29 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/help-figuring-out-the-architecture-of-the-application-n14</link>
      <guid>https://dev.to/attkinsonjakob/help-figuring-out-the-architecture-of-the-application-n14</guid>
      <description>&lt;p&gt;I posted a while ago a short article expressing my desire to do some open-source projects.&lt;br&gt;
While I've been using the time to publish some stuff on my GH page, now I believe I'm finally ready to start working on my idea. &lt;/p&gt;

&lt;p&gt;If only I knew where to start... &lt;/p&gt;

&lt;p&gt;I want to create an application where the user uploads a code bar from a soft-drink bottle, the code is translated to a string, the image discarded and based on the string some queries on the DB.&lt;/p&gt;

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

&lt;p&gt;This is the short version of it. The front-end can be anything, but I will probably go for Gatsby or Gridsome.&lt;/p&gt;

&lt;p&gt;For the back-end, I just need some easy API where I can create some CRUD entities, do some queries (POST / GET) and throw a json back.&lt;/p&gt;

&lt;p&gt;Here are my questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;What would be the easiest way to create such an API, host and deploy it? I was thinking of a Graphql API on NodeJs. (mostly because it looks like something fun to learn). But I have no experience creating a full API back-end.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How can I upload an image "somewhere", fetch the barcode string from it and then discard it? (I have no use to save it)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Any advice on how to plan all these and get started would be greatly appreciated. &lt;/p&gt;

</description>
      <category>help</category>
      <category>beginners</category>
      <category>graphql</category>
      <category>architecture</category>
    </item>
    <item>
      <title>A laptop - a reason to choose your new employer?</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Sun, 13 Sep 2020 17:18:21 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/a-laptop-a-reason-to-choose-your-new-employer-2ejb</link>
      <guid>https://dev.to/attkinsonjakob/a-laptop-a-reason-to-choose-your-new-employer-2ejb</guid>
      <description>&lt;p&gt;Last time I've went through the hiring process it was 2013 and since then a lot has changed. At least that's what I've been told.&lt;/p&gt;

&lt;p&gt;After a few discussions with some recruiters on LinkedIn I scheduled 3 interviews with some companies that seemed interesting for me.&lt;/p&gt;

&lt;p&gt;Don't get me wrong, I'm not some sort of guru or God-of-coding. Actually, I think of myself as quite a mediocre developer, but I like to believe I compensate with dedication and hard work. Therefore, I look for companies that activate in a field that's of interest for me.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lnMLggOf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://content.linkedin.com/content/dam/business/talent-solutions/global/en_us/blog/2018/03/job-description-mistakes-2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lnMLggOf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://content.linkedin.com/content/dam/business/talent-solutions/global/en_us/blog/2018/03/job-description-mistakes-2.jpg" alt="pressure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I never discuss money or perks in a first interview with a potential employer.  Mostly, because it's not very relevant for me. Culture, for example is much more important to me. However, in all three interviews the guy on the other side of the skype-line wanted to impress me with perks. Fruits, coffee, parking spot, all kinds of random stuff. But the weirdest stuff all 3 employers from 2 different countries offered one exquisite perk:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A shiny and new MacBook Pro&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First time I heard this I was a bit confused, but I moved one. The 3rd time I asked myself like WTF is this and why is it so important to mention it to me in the first interview (instead of, for example, telling me they have a budget from X to Y EURs for this position)?&lt;/p&gt;

&lt;p&gt;I mean, since when is a laptop a perk? And why does "everyone" assume I want a Mac in the first place? What if I'm the "Surface Book" type of guy?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--89HCQkzJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://forums.macrumors.com/attachments/gameing-on-a-mac-jpg.684492/" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--89HCQkzJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://forums.macrumors.com/attachments/gameing-on-a-mac-jpg.684492/" alt="Gaming on Mac"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I said, I've haven't been looking for a new employer in quite a while, however, an my previous jobs nobody ever talked about these kind of stuff. At my first job, I had a range of stuff (from monitors to laptops) that I could choose from. I wasn't forced on a Mac, or a Lenovo or whatever.&lt;/p&gt;

&lt;p&gt;At my current working place, instead of forcing everyone to use the same machine everyone had the chance to choose their own working environment. Some chose a Mac, some chose desktops, some chose Lenovos or Dells, whatever they wanted. &lt;/p&gt;

&lt;p&gt;We spend at least 8 hours a day using those machines and gadgets. Don't tell me there are still companies out there that expect a develop to work from a non-mechanical keyboard?&lt;/p&gt;

&lt;p&gt;Last but not least, at my third interview I told the guy that for me it's very important to have 3 monitors (not because they are SUPER necessary, but because I got used to it and they are usually cheap since I'm not a designer) and the freedom to choose my own keyboard, mouse and chair.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YYsZnhFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ytimg.com/vi/NcC2j2ZsQb0/maxresdefault.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YYsZnhFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ytimg.com/vi/NcC2j2ZsQb0/maxresdefault.jpg" alt="gaming-setup"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The guy was so surprised that a "shiny new MacBook" wasn't enough to shut me down that he couldn't reply if that's possible or absolutely not.&lt;/p&gt;

&lt;p&gt;I have 3 more interviews scheduled next week. Can't wait to see what else I learn.&lt;/p&gt;

&lt;p&gt;What's your take on the subject? &lt;/p&gt;

</description>
      <category>career</category>
      <category>discuss</category>
      <category>interview</category>
    </item>
    <item>
      <title>Help choosing a laptop for work</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Mon, 24 Aug 2020 18:19:17 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/help-chosing-a-laptop-for-work-5hkh</link>
      <guid>https://dev.to/attkinsonjakob/help-chosing-a-laptop-for-work-5hkh</guid>
      <description>&lt;p&gt;I work remote for a small company and hence I need to buy my own machine. I am looking to buy a new laptop that allows me to work while I'm away from my working station.&lt;br&gt;
After a bit of research I ended up with 2 possible solutions&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Surface book 3 (15 inch, i7  1065G7  ,   GeForce® GTX 1660 Ti ) - 2500$&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;New Dell XPS 15 (15 inch, i17  10750H ,  GeForce® GTX 1650 Ti ) - 2100$&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While the Surface has this nice feature to detach the screen (useless for work tho), the Dell has a newer processor)&lt;br&gt;
My work consists mostly of running 2 virtual machines (currently using vagrant, but with new Windows I guess I can go WSL2), 2 or 3 instances of PHPStorm / IntelliJ, docker, 2 browsers etc&lt;/p&gt;

&lt;p&gt;I have a hard time understanding which one would be the better choice for me. My impulse would tell me to pick the Surface, however I read one a couple of blog posts that the XPS is much more powerful and therefore much better for work.&lt;/p&gt;

&lt;p&gt;Anyone here that has a better / deeper understanding that could help me make the better choice?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>help</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>How to deal with Netlify and GSuite for the same domain?</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Thu, 23 Jul 2020 13:02:01 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/how-to-deal-with-netlify-and-gsuite-for-the-same-domain-3e30</link>
      <guid>https://dev.to/attkinsonjakob/how-to-deal-with-netlify-and-gsuite-for-the-same-domain-3e30</guid>
      <description>&lt;p&gt;One of my family's friends asked me to build a static website for them. I purchased a domain for them, and while there are many hosting options out there, I decided to go with&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gatsby + Netlify (redirected to their new domain)&lt;/li&gt;
&lt;li&gt;GSuite for handling their domain (at 5$ they get to use their @domain.com address).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, while the whole Netlify process is quite straightforward (&lt;a href="https://levelup.gitconnected.com/how-to-host-domain-to-netlify-site-for-free-step-by-step-guide-45d0c2102db3"&gt;I use this&lt;/a&gt;, as a guideline) I don't really know much about how Gsuit and how google handles an email for a specific domain.&lt;/p&gt;

&lt;p&gt;I currently routed their domain through Cloudflare, in order to handle the DNS&amp;amp;co. &lt;/p&gt;

&lt;p&gt;Any suggestions on how to host the website with Netlify, redirect to their domain and at the same time use GSuite to cater for their email needs?&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>gatsby</category>
      <category>help</category>
    </item>
    <item>
      <title>Work from home - or how intrusive monitoring can be</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Wed, 17 Jun 2020 22:16:45 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/work-from-home-or-how-intrusive-monitoring-can-be-491j</link>
      <guid>https://dev.to/attkinsonjakob/work-from-home-or-how-intrusive-monitoring-can-be-491j</guid>
      <description>&lt;p&gt;I'm looking for a new opportunity, a job that challenges me in a few different ways, but that also yields some satisfaction at the end of the day.&lt;/p&gt;

&lt;p&gt;I've never been shy of moving around the world. After working "from home" for over 3 years, I decided I want a job that has an office, regardless where. It can be anywhere, I wouldn't mind moving.&lt;/p&gt;

&lt;p&gt;A bunch of interviews later, I started to freak out. While the companies that I applied so far were quite "random", all of them seemed to have a similar plan on how to "deal" with new employees. And, weirdly enough, that bothers me.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VP83b7XQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dispatchfieldtracker.files.wordpress.com/2018/02/employee-monitoring-field-force-tracker.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VP83b7XQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dispatchfieldtracker.files.wordpress.com/2018/02/employee-monitoring-field-force-tracker.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Here's what I'm talking about:&lt;/p&gt;

&lt;p&gt;The companies that I talked to want me to work "at least for a year" from home. I need to register as self-employment, however I would work as an "actual employee", but paid according to the country I live in (assuming I live in a country where life is cheaper than where the company's HQ is). I would subject to the same rules and conditions as any other employee from their office, except the "monitoring" part.&lt;/p&gt;

&lt;p&gt;People working "from home" &lt;em&gt;need&lt;/em&gt; to earn their trust. In order to do so, the "hiring" company wants to keep tabs on me. What does this mean? That I have to install a premium app, called &lt;a href="https://hubstaff.com/pricing"&gt;HubStaff&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qWmj1FF3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://d3kdj0p3ajn4xa.cloudfront.net/assets/illustrations/employee_monitoring%402x-9152c00ef0cbefc5f7ad77efbd214282ede0583239401c2dd458c66f4abfa796.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qWmj1FF3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://d3kdj0p3ajn4xa.cloudfront.net/assets/illustrations/employee_monitoring%402x-9152c00ef0cbefc5f7ad77efbd214282ede0583239401c2dd458c66f4abfa796.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While I am used to (and have nothing against) time tracking in apps like JIRA, HubStaff monitors my "input" activity: keyboard and mouse. Moreover, the app takes random screenshots of my screen(s) and sends them to my employers. Of course, the app does much more, but these 2 &lt;em&gt;features&lt;/em&gt; is were I draw the line.&lt;/p&gt;

&lt;p&gt;I find this kind of "monitoring" very intrusive. I take issues when I'm being "monitored" like that and I feel very uncomfortable having to work under such circumstances. Moreover, I take issues with having my location being monitored and shared, especially if my first option was to actually move to their HQs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TJpRLms9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ytimg.com/vi/ZMQPJAQpDlc/maxresdefault.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TJpRLms9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ytimg.com/vi/ZMQPJAQpDlc/maxresdefault.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While one of the companies mentioned that I &lt;em&gt;have to earn&lt;/em&gt; their trust, I can't stop but feel like they didn't earn my trust in order for me to share all these information with them. Especially since like they want me to act like a "self employed".&lt;/p&gt;

&lt;p&gt;Are you or did you have to deal with similar circumstances at a work place? Do you / would you agree to work under such conditions or is there a place where you'd draw the line?&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>Page layout: full-sized vs boxed</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Sat, 30 May 2020 10:39:55 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/page-layout-full-sized-vs-boxed-4n0c</link>
      <guid>https://dev.to/attkinsonjakob/page-layout-full-sized-vs-boxed-4n0c</guid>
      <description>&lt;p&gt;I started working on a personal website. Something like a "presentational" site, but that I'm planning to transform it in much more than that by including a bunch of data from private and public APIs etc. Even blog posts.&lt;/p&gt;

&lt;p&gt;While there's a lot of &lt;em&gt;noise&lt;/em&gt; about how a page should be designed, I can't seem to be able to decide between a full-size layout or a boxed one.&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%2Fwww.skyartstudio.com%2Fwp-content%2Fuploads%2F2013%2F08%2Ffeatured-full-box.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%2Fwww.skyartstudio.com%2Fwp-content%2Fuploads%2F2013%2F08%2Ffeatured-full-box.png" alt="Full-boxed-layout"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My first thought was to go with boxed sized and a nice, faded, background image. However most demo websites and repos on GH that I checked out were going for a full sized pages.&lt;/p&gt;

&lt;p&gt;How do you decided between the two and what would you recommend me?&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>design</category>
    </item>
    <item>
      <title>Impostor syndrome and my experience learning a new technology</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Sun, 24 May 2020 20:55:21 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/impostor-syndrome-and-my-experience-learning-a-new-technology-2ic8</link>
      <guid>https://dev.to/attkinsonjakob/impostor-syndrome-and-my-experience-learning-a-new-technology-2ic8</guid>
      <description>&lt;p&gt;I finished the university and got my B.Sc degree not being the top of the list, but not being among the lasts either. However, being most of the time surrounded by people that are smarter than the average, I slowly developed (what some call) the &lt;a href="https://en.wikipedia.org/wiki/Impostor_syndrome"&gt;impostor syndrome&lt;/a&gt;.&lt;br&gt;
Being in your early 20s and trying to find your way in the society (a.k.a getting a job) while doubting every single thing you know or do is not a fun experience.&lt;/p&gt;

&lt;p&gt;Years passed and I found a niche to exploit working as a developer for over 6 years now. I got thrown into random technologies without training or time to actually learn it. "Learn it by doing it" I was told. And so I did.&lt;/p&gt;

&lt;p&gt;I am currently considered a key developer in the company, my work  is "valuable" and yet every day I live with the feeling that "I have no idea what I'm doing".&lt;br&gt;
&lt;a href="https://i.giphy.com/media/ToMjGpNuOksUiclTp4c/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/ToMjGpNuOksUiclTp4c/giphy.gif" alt="GIF"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I didn't develop anything at home so far. After being 10-11 hours at work, I couldn't deal with anything similar at home. Yet, recently I decided to take on a personal project and learn React by doing so.&lt;/p&gt;

&lt;p&gt;Everything went great. My mood was very optimistic, the energy was there and the stars seemed to align. I spent a few hours watching some videos, I started and configured my "Hello world" project and pushed everything to GH. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/xUA7aQOxkz00lvCAOQ/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/xUA7aQOxkz00lvCAOQ/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I spent the upcoming days laying down a plan, decide what was important to focus on, what could come later and what was only "nice to have". I implemented my first component, but it felt a bit hacky and I decided that learning React was my personal choice and I might as well do it well. As a result, I subscribed to a course on Udemy. What better way to learn something from scratch?&lt;/p&gt;

&lt;p&gt;And this is where the impostor syndrome kicked in. Again. Three - four hours into the course, trying to follow the basics and my mind goes into the &lt;em&gt;you are not a real engineer&lt;/em&gt; mode.  I can't follow, I can't learn and all my energy is  drained, day and night, by an "invisible force".&lt;/p&gt;

&lt;p&gt;It's been not 6 days since I pushed last time to GH. I've been trying since to write a basic component that handles my avatar, but every time I open the IDE my mind goes blank. I can't focus. I'm trying to look online for what others did, yet I keep telling myself that stealing code from SO is what I always did in my career, as this won't work forever.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ds4rNA2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://peopleofcolorintech.com/wp-content/uploads/2016/02/impostor1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ds4rNA2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://peopleofcolorintech.com/wp-content/uploads/2016/02/impostor1.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was reluctant posting in here. I feel like I'm crying online for &lt;em&gt;nothing&lt;/em&gt; while the world has some real issues to face. Yet, we each have our own demons and I have no  idea how to fight mine. I want to break the "watch Netflix forever just don't try to code anymore" kind of mood that seem to control my life lately.&lt;/p&gt;

</description>
      <category>impostorsyndrome</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>GraphQL - NodeJS vs PHP. How to choose?</title>
      <dc:creator>Jakob Attkinson</dc:creator>
      <pubDate>Sun, 10 May 2020 09:56:51 +0000</pubDate>
      <link>https://dev.to/attkinsonjakob/graphql-nodejs-vs-php-how-to-choose-51jp</link>
      <guid>https://dev.to/attkinsonjakob/graphql-nodejs-vs-php-how-to-choose-51jp</guid>
      <description>&lt;p&gt;Following &lt;a href="https://dev.to/attkinsonjakob/how-to-send-code-sample-when-applying-for-a-job-2b3m"&gt;my recent face-slap&lt;/a&gt; when I realized I have no personal project  to submit when applying for a job, I decided to start one. Right away.&lt;/p&gt;

&lt;p&gt;While my idea is, currently, not very well defined, I do know I want to implement some public API and present the data in an interactive way. However, the focus would be on the back-end.&lt;/p&gt;

&lt;p&gt;Therefore, I decided to go with GraphQL. My experience with setting up a new project and choosing how to build the infrastructure is limited (read: I never did it). Hence, I'd like to ask for help to kickstart the project.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;GraphQL means I have to choose between NodeJS and PHP. I don't have a strong opinion on any of them. Usually I'd just do what my employer / architect decides. I'm not sure which one to choose, would be a learning curve either way. However, I did notice that there seem to be a little more documentation available for NodeJS.&lt;/li&gt;
&lt;li&gt;Any good advice or tutorial on how to set up everything? I know what I have to do once i get to the "write code" part. I'm a bit lost on how to get there.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Worth to mention: this is meant to be just a personal project, a playground, to learn GraphQL and to be able to submit some code next time I apply for a job.&lt;/p&gt;

</description>
      <category>graphql</category>
      <category>beginners</category>
      <category>php</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
