<?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: Joe Previte (he/him)</title>
    <description>The latest articles on DEV Community by Joe Previte (he/him) (@jsjoeio).</description>
    <link>https://dev.to/jsjoeio</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%2F87999%2F072e5e40-6885-4805-bd86-cce0ed0374a0.png</url>
      <title>DEV Community: Joe Previte (he/him)</title>
      <link>https://dev.to/jsjoeio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jsjoeio"/>
    <language>en</language>
    <item>
      <title>I developed on an iPad for two weeks: Here’s what I learned</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Mon, 08 Feb 2021 21:24:31 +0000</pubDate>
      <link>https://dev.to/coder/i-developed-on-an-ipad-for-two-weeks-here-s-what-i-learned-2dda</link>
      <guid>https://dev.to/coder/i-developed-on-an-ipad-for-two-weeks-here-s-what-i-learned-2dda</guid>
      <description>&lt;p&gt;“We’re going to send this to Apple and you should get it back in 5-7 business days.”&lt;/p&gt;

&lt;p&gt;And this is how the first work week of 2021 started for me — my brand new MacBook Pro keyboard unusable and out of my possession for what could be two weeks. Fortunately, my coworker had sent me an iPad testing device a few days prior. The timing couldn’t have been better. &lt;/p&gt;

&lt;p&gt;I made a decision.&lt;/p&gt;

&lt;p&gt;I insisted to my manager and HR that I could use the iPad while I waited for my laptop to be repaired instead of letting them send me a new laptop. Plus, it gave me an excuse to answer the question, “Could I work and develop full-time off an iPad?”&lt;/p&gt;

&lt;p&gt;Here’s what I learned. &lt;/p&gt;

&lt;h3&gt;
  
  
  You can use an External Monitor, Keyboard, and Mouse
&lt;/h3&gt;

&lt;p&gt;My home office setup includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dell.com/en-us/work/shop/dell-ultrasharp-49-curved-monitor-u4919dw/apd/210-arnw/monitors-monitor-accessories"&gt;Dell UltraSharp 49 Inch Curved Monitor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gaming.kinesis-ergo.com/product/freestyle-edge/"&gt;Kinesis Freestyle Edge RGB Keyboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.logitech.com/en-us/products/mice/mx-vertical-ergonomic-mouse.910-005447.html"&gt;Logitech MX Vertical Mouse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first I thought I couldn’t use these with the iPad. After some trial and error, it turns out you can! I connected the keyboard via USB to the monitor and then the monitor via USB-C to the iPad and it “just works.” The mouse was easy to connect via bluetooth.&lt;/p&gt;

&lt;p&gt;The iPad mirrors the display to the monitor, which means you don’t get the screen real estate you do with a laptop, but it’s better than nothing. There were also some apps which would not mirror to the external monitor — most notably the &lt;a href="https://apps.apple.com/us/app/hey-email/id1506603805"&gt;HEY email app&lt;/a&gt; and the &lt;a href="https://apps.apple.com/us/app/github/id1477376905"&gt;GitHub app&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  VS Code on iPad feels like magic
&lt;/h3&gt;

&lt;p&gt;I still can’t believe you can use VS Code on an iPad. Using Coder, I created an environment for me to work on &lt;a href="https://github.com/cdr/code-server"&gt;code-server&lt;/a&gt;.  I was then able to install the editor (code-server) as a PWA and use VS Code as if it were a native app on iOS. The experience is magical. You feel powerful, like you can take your editor anywhere you’d like. And thanks to the Dev URLs, I can run apps on any port, and create a Dev URL to access them from the browser. This made my life a lot easier.&lt;/p&gt;

&lt;h3&gt;
  
  
  iPads as Devices are Portable and Powerful
&lt;/h3&gt;

&lt;p&gt;The battery of the iPad surprised me. It felt like it lasted way longer than I would have expected. The performance felt fast. There was hardly ever any lag. With the &lt;a href="https://www.apple.com/shop/product/MXQT2LL/A/magic-keyboard-for-ipad-air-4th-generation-and-ipad-pro-11-inch-2nd-generation-us-english?fnode=82651b35918e7b97be7affb0d2cd40a464cef34423cb0ddd46057f28faa88c2527d5799434e185f9dfa475fd532a9be679980054a1578da13111439ae8a1a8797c03cc072265d3761210b6bfc4019962bf99e5aa3df18e4c2b889e146aef35ce204fcf3ea663c4a58e4a298b791697d3"&gt;Magic Keyboard&lt;/a&gt;, I felt like I could take the iPad anywhere and start coding. It was liberating. In addition, I loved having the cmd + shift + 4 shortcut for taking screenshots and the &lt;a href="https://support.apple.com/en-us/HT207935"&gt;built-in screen recording&lt;/a&gt; added in iOS 14. &lt;/p&gt;

&lt;h3&gt;
  
  
  Didn’t have much use for Apple Pencil
&lt;/h3&gt;

&lt;p&gt;Along with the Magic Keyboard, I had the Apple Pencil at my disposal with my iPad. Unfortunately, I didn’t find much use for it. I am not blaming Apple or the iPad for that, but rather myself. I think if I were more of a designer, there would be use. Or if I were a student in college taking notes, I could use it. I didn’t have much use for it and can’t say I recommend it to fellow developers considering a full-time iPad setup. &lt;/p&gt;

&lt;h3&gt;
  
  
  Browsers are Inconsistent
&lt;/h3&gt;

&lt;p&gt;Sadly, one of my main frustrations was the lack of consistency for browsers on iOS. My preferred browser is Firefox. However, there were a number of bugs which caused me to switch over to Chrome. The keyboard shortcuts I was used to from desktop did not always map over to the iOS apps, which slowed down my workflow significantly. There are also a number of UX-related issues for mobile apps. Chrome wasn’t perfect, but it was better than Safari in most aspects. My one wish: make a browser that is consistent across platforms and stable. &lt;/p&gt;

&lt;h3&gt;
  
  
  Use the PWA and Gain Control Over Keyboard Shortcuts
&lt;/h3&gt;

&lt;p&gt;If you’re going to work off an iPad and write code, being able to download your editor either as a native app or a PWA is a must. This is the only way for you to get keyboard shortcuts that don’t conflict with global or app shortcuts.&lt;/p&gt;

&lt;p&gt;Once I started using the PWA for Coder’s editor, my workflow levels approached normalcy. I had to manually add a lot of keyboard shortcuts to my settings in VS Code/code-server. Once I did, I felt like I was back in my usual flow. &lt;/p&gt;

&lt;h3&gt;
  
  
  Inspect Browser is a Tool You Need
&lt;/h3&gt;

&lt;p&gt;When you’re developing on iPad and using the standard iOS browser apps (Chrome, Safari, Firefox), you don’t have access to the developer tools. This means you need a workaround. The best one I found was an app for purchase ($6.99) called &lt;a href="https://apps.apple.com/us/app/inspect-browser/id1203594958"&gt;Inspect Browser&lt;/a&gt;. Although the UX isn’t that of your standard browser devtools, it succeeds in filling the gap. It provides you with the ability to look at the console and inspect elements. There are more features but those were the two it helped me with the most. &lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Overall, I really enjoyed the two weeks I spent developing off an iPad full-time. There were many moments I wanted to give up and ask HR to send me a laptop, but I’m glad I stuck with it. I have a greater understanding of the iPad workflow from a developer perspective and I hope I can translate that into product improvements that make the UX for both Coder and code-server users even better. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t_Y2cyZ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/89wi90r6q3x7c7vckese.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t_Y2cyZ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/89wi90r6q3x7c7vckese.jpg" alt="Joe Previte smiling and pointing to iPad with code on screen."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading! It would mean a lot to me if you &lt;a href="https://twitter.com/intent/tweet?text=%22I%20developed%20on%20an%20iPad%20for%20two%20weeks.%20Here's%20what%20I%20learned%22%20by%20%40jsjoeio%20%F0%9F%9A%80%20%0A%0Ahttps%3A%2F%2Fcoder.com%2Fblog%2Fi-developed-on-an-ipad-for-two-weeks"&gt;shared this on Twitter&lt;/a&gt;. If you have questions or want to get in touch, feel free to &lt;a href="https://twitter.com/messages/compose?recipient_id=1567529924&amp;amp;text=Hey!%20I%20read%20your%20article%20about%20working%20off%20an%20iPad.%20"&gt;shoot me a DM&lt;/a&gt; on Twitter. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;This article was first published on the Coder blog &lt;a href="https://coder.com/blog/i-developed-on-an-ipad-for-two-weeks"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ipad</category>
      <category>ipados</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Have you tried Rust?</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Mon, 22 Jun 2020 20:56:39 +0000</pubDate>
      <link>https://dev.to/jsjoeio/have-you-tried-rust-5cjb</link>
      <guid>https://dev.to/jsjoeio/have-you-tried-rust-5cjb</guid>
      <description>&lt;p&gt;For the fifth year in a row, Rust comes out as the most-loved programming language according to &lt;a href="https://insights.stackoverflow.com/survey/2020"&gt;Stack Overflow's 2020 Survey&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Have you tried it yet? If so, what are your first impressions?&lt;/p&gt;

&lt;p&gt;If you haven't, what's the reason, or what would make you want to try it?&lt;/p&gt;

&lt;p&gt;Would love to hear your thoughts 😃&lt;/p&gt;

</description>
      <category>rust</category>
      <category>discuss</category>
    </item>
    <item>
      <title>WOOOOOOO</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Fri, 06 Mar 2020 03:24:17 +0000</pubDate>
      <link>https://dev.to/jsjoeio/wooooooo-2811</link>
      <guid>https://dev.to/jsjoeio/wooooooo-2811</guid>
      <description>&lt;p&gt;This. Is. My. First. Blog. Post.&lt;/p&gt;

&lt;p&gt;Written quickly on GitHub as an issue.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>2019 Goals — August Update</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Mon, 02 Sep 2019 16:36:41 +0000</pubDate>
      <link>https://dev.to/jsjoeio/2019-goals-august-update-135b</link>
      <guid>https://dev.to/jsjoeio/2019-goals-august-update-135b</guid>
      <description>&lt;h2&gt;
  
  
  Achievements
&lt;/h2&gt;

&lt;p&gt;Here, I’ll share the goal followed by the related achievement of the month after the arrow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intellectual
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Launch 2 projects on Product Hunt -&amp;gt; Launched the landing page for dip.chat 🎉&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I worked all month getting things ready and last Friday, I launched the landing page for a virtual coworking community I've started called &lt;a href="https://dip.chat/"&gt;dip.chat&lt;/a&gt; 😄&lt;/p&gt;

&lt;p&gt;I'm really excited because we already have 200 members 😱&lt;/p&gt;

&lt;p&gt;The idea behind it? Well, it came to me after months of going to coffeeshops in the weeknights and weekends to find the atmosphere I wanted while working on my side projects. &lt;/p&gt;

&lt;p&gt;I knew I could make it work when I heard about &lt;a href="https://tandem.chat/"&gt;Tandem&lt;/a&gt;. Tandem allows you to create rooms where you can instantly video/audio chat. By combing Tandem with a private Slack Workspace, dip was born 😄&lt;/p&gt;

&lt;p&gt;I don't have any immediate plans for the future, but for now, you can sign up at &lt;a href="https://dip.chat/"&gt;dip.chat&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Professional
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Write 6 articles -&amp;gt; How to Release a Custom React Component, Hook or Effect as an npm Package&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was a blog post in the making. I probably started it in August but Twilio finally published it on their blog! You can read it here: &lt;a href="https://www.twilio.com/blog/release-custom-react-component-hook-effect-npm-package"&gt;How to Release a Custom React Component, Hook or Effect as an npm Package&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React Custom Hooks Workshop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another project long in the making is the React Custom Hooks Workshop I've been working on for egghead. It's finally happening! In two weeks, I'll be teaching my workshop called "Create &amp;amp; Publish Custom React Hooks". There are still some tickets left if you're interested:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ti.to/egghead-live-online-events/create-publish-custom-react-hooks-with-joe-previte/"&gt;Tickets&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all folks! Until next month!&lt;/p&gt;

&lt;p&gt;[Photo by Erik Mclean on Unsplash]&lt;/p&gt;

</description>
      <category>goals</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>Announcing dip.chat - a virtual coworking space </title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Fri, 30 Aug 2019 14:38:44 +0000</pubDate>
      <link>https://dev.to/jsjoeio/announcing-dip-chat-a-virtual-coworking-space-lm2</link>
      <guid>https://dev.to/jsjoeio/announcing-dip-chat-a-virtual-coworking-space-lm2</guid>
      <description>&lt;p&gt;Hi friends!&lt;/p&gt;

&lt;p&gt;Today I'm launching the beta for a new project I've been working on:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dip.chat/"&gt;dip.chat&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I wrote a Twitter thread about it here:👇🏼&lt;br&gt;
&lt;a href="https://twitter.com/jsjoeio/status/1167439340626165760?s=20"&gt;Link to thread&lt;/a&gt;&lt;/p&gt;

</description>
      <category>coworking</category>
      <category>community</category>
    </item>
    <item>
      <title>2019 Goals — July Update</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Sun, 11 Aug 2019 22:43:52 +0000</pubDate>
      <link>https://dev.to/jsjoeio/2019-goals-july-update-41dn</link>
      <guid>https://dev.to/jsjoeio/2019-goals-july-update-41dn</guid>
      <description>&lt;p&gt;11 days into August, so I'm a bit late on my July update but better late than never! 😜&lt;/p&gt;

&lt;h2&gt;
  
  
  Achievements
&lt;/h2&gt;

&lt;p&gt;Here, I’ll share the goal followed by the related achievement of the month after the arrow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intellectual
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Launch 2 projects on Product Hunt -&amp;gt; Made a lot of progress on new project 👀&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The majority of July was spent working on my next project. It's a virtual coworking community for developers.&lt;/p&gt;

&lt;p&gt;My goal is to launch the MVP by the end of August. Examining where I'm at right now, I should be on target to achieve this. The main task for this month will be building the landing page and setting up a sign up list. &lt;/p&gt;

&lt;p&gt;Keep an eye out for more info next month on &lt;a href="https://twitter.com/jsjoeio"&gt;Twitter&lt;/a&gt;! &lt;/p&gt;

&lt;h3&gt;
  
  
  Financial
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Start investing -&amp;gt; Rolled old 401K into Roth IRA &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My previous employer had a 401K match. I was able to transfer that money (about $4K) into a Roth IRA with Vanguard. Even though I haven't made a "huge" jump into investing, it feels like a step because now I have the Roth IRA, along with an old Simple IRA from another previous employer all in the same account. It feels consolidated, which makes me happy.&lt;/p&gt;

&lt;p&gt;I'm hoping with my new job at Echobind, I can easily set up a way to contribute to the Vanguard Roth IRA each month. Once that's set up, then I'll feel like I've fully achieved this goal. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start investing -&amp;gt; New Split Paycheck System&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I started my first full-time job, I set up an automatic paycheck split so that 15% of every paycheck went directly into my savings. This system has served me well in terms of saving money.&lt;/p&gt;

&lt;p&gt;I've been reading a lot about financial independence, retiring early, etc. and one of the tips I remembered was to continue living the way you were even after you receive a pay raise. &lt;/p&gt;

&lt;p&gt;Since I started a new job on July 1st with a significant pay raise, I thought to increase the split of my paycheck. This month, I'm experimenting with a high percentage (50%), meaning 50% of each paycheck (I get paid 2x/month) will go into savings and 50% will go into my checkings. &lt;/p&gt;

&lt;p&gt;I'm fortunate enough to make enough to be able to do this and still be able to pay all the bills (the main ones being rent/food). If this proves to be sustainable, it should help me hit this $36K saving goal by the end of the year. &lt;/p&gt;

&lt;h2&gt;
  
  
  Updates
&lt;/h2&gt;

&lt;p&gt;Not much from the update side. I am reading a book right now called "Atomic Habits" and one of the points the other makes is to focus on systems/habits rather than goals. &lt;/p&gt;

&lt;p&gt;Therefore, I may reevaluate the goals I set this year and see if I can reword them to focus more on systems/habits rather than goals. I want to read more of the book before I make that decision but thought it was a relevant piece to share here.&lt;/p&gt;

&lt;p&gt;That's all folks! Until next month!&lt;/p&gt;

&lt;p&gt;[Photo by John Fowler on Unsplash]&lt;/p&gt;

</description>
      <category>goals</category>
    </item>
    <item>
      <title>2019 Goals — June Update</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Mon, 01 Jul 2019 15:13:40 +0000</pubDate>
      <link>https://dev.to/jsjoeio/2019-goals-june-update-5fhf</link>
      <guid>https://dev.to/jsjoeio/2019-goals-june-update-5fhf</guid>
      <description>&lt;p&gt;June was a busy month. I'm excited for July because a) the weekends are looking free (no travel or events so far) and b) I have a project I'm excited to work on 😄&lt;/p&gt;

&lt;p&gt;But before I share any updates, here's a bit of reflection on goal-related stuff for June.&lt;/p&gt;

&lt;h2&gt;
  
  
  Achievements
&lt;/h2&gt;

&lt;p&gt;Here, I’ll share the goal followed by the related achievement of the month after the arrow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intellectual
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Launch 2 projects on Product Hunt -&amp;gt; Finished MVP for &lt;a href="https://mentored.dev"&gt;mentored.dev&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I didn't "complete" this goal but I hit a milestone. I had been talking to my friends about finishing mentored for a while. My project board on GitHub was filled with all these awesome features I wanted to build.&lt;/p&gt;

&lt;p&gt;But while chatting at the Phoenix ReactJS meetup, we had a realistic conversation. And they said, "What are the remaining features you need to add to be 'done' with a v1?" &lt;/p&gt;

&lt;p&gt;I thought for a second. Okay, they're right. I need to cut scope and get this out the door. So I moved everything to the backlog and only added the key pieces - saving progress to local storage and improving the UI flow. &lt;/p&gt;

&lt;p&gt;I did all that and shared a &lt;a href="https://twitter.com/jsjoeio/status/1144994580200210432?s=20"&gt;Twitter thread&lt;/a&gt; about the journey this weekend. It felt really good. It was scary, but I had put in a lot of time and effort and I was excited to share it. &lt;/p&gt;

&lt;p&gt;I'm not sure where I'll take it next but this marks the completion of the first phase. &lt;/p&gt;

&lt;h3&gt;
  
  
  Professional
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Write 6 articles -&amp;gt; 2 dev.to articles written! (Total: 3/6)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think I was on a teaching/writing "high" this past month because I knocked out two articles. Actually, what made it "easy" was writing the articles as I was learning two new things. I thought it would help me solidify the learning if I wrote it as I learned. &lt;/p&gt;

&lt;p&gt;The first was &lt;a href="https://dev.to/jsjoeio/react-native-adding-app-icons-for-android-47e7"&gt;"React Native - Adding App Icons for Android "&lt;/a&gt; where I shared the basics of adding app icons to Android. I started learning React Native and wanted to do the simplest thing: add an icon to my app.&lt;/p&gt;

&lt;p&gt;After a lot of misunderstanding, I finally got it working 😃 So I wrote the article to a) help me remember and b) share what I learned.&lt;/p&gt;

&lt;p&gt;The second article I wrote was titled &lt;a href="https://dev.to/jsjoeio/how-to-create-code-profiles-in-vscode-3ofo"&gt;"How to Create Code Profiles in VSCode "&lt;/a&gt;. My wife is letting me borrow her personal laptop until I save up enough to buy my own personal laptop. So, while setting things up, I decided I would try a technique used by a fellow egghead instructor - code profiles. They're basically a saved state of your &lt;code&gt;settings.json&lt;/code&gt; for VSCode. This is helpful when recording screencasts where you need a larger font size for instance. I wrote this one while going through a README on GitHub to better understand it. &lt;/p&gt;

&lt;h2&gt;
  
  
  Updates
&lt;/h2&gt;

&lt;p&gt;Being at the halfway point in 2019, I've decided reevaluate my goals I set back in &lt;a href="https://medium.com/@jsjoeio/2019-goals-overview-8846eb8cb067"&gt;January&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Although I've made progress towards some of these goals, I would like to change direction and get more specific. My long-term goal is to achieve what I call "freedom of time" - the ability to spend your time how you like every day. Some call this financial independence. &lt;/p&gt;

&lt;p&gt;I've spent some time mind-mapping to think about how I can get there and so I want my goals to align with that. For July, I'm going to be focusing on one project: a new egghead course related to React and npm packages 👀&lt;/p&gt;

&lt;p&gt;I wouldn't say anymore but keep your eyes peeled for a blog post and a new egghead course. &lt;/p&gt;

&lt;p&gt;That's all folks! Until next month!&lt;/p&gt;

&lt;p&gt;[Photo by Nitish Meena on Unsplash]&lt;/p&gt;

</description>
      <category>goals</category>
    </item>
    <item>
      <title>How to Create Code Profiles in VSCode</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Thu, 27 Jun 2019 17:47:21 +0000</pubDate>
      <link>https://dev.to/jsjoeio/how-to-create-code-profiles-in-vscode-3ofo</link>
      <guid>https://dev.to/jsjoeio/how-to-create-code-profiles-in-vscode-3ofo</guid>
      <description>&lt;p&gt;This post piggybacks off of the work done by &lt;a class="mentioned-user" href="https://dev.to/avanslaars"&gt;@avanslaars&lt;/a&gt; who is a fellow instructor at &lt;a href="https://github.com/avanslaars/code-profiles" rel="noopener noreferrer"&gt;egghead.io&lt;/a&gt;. He shared this in the egghead Slack sometime ago and I never got around to setting this up myself.&lt;/p&gt;

&lt;p&gt;Now, I'm setting up a new laptop and decided to give it shot. Following Andy's &lt;a href="https://github.com/avanslaars/code-profiles" rel="noopener noreferrer"&gt;repo here&lt;/a&gt;, I'm going to walk you through the process so you can follow along.&lt;/p&gt;

&lt;p&gt;Before we begin, a "code profile" is essentially a different &lt;code&gt;settings.json&lt;/code&gt; configuration. You can also customize which extensions load per code profile but that's beyond the scope of this article. &lt;/p&gt;

&lt;h3&gt;
  
  
  1. Create a &lt;code&gt;code_profiles&lt;/code&gt; directory
&lt;/h3&gt;

&lt;p&gt;The first thing we need to do is create a place to store our "profile settings". It doesn't have to be called &lt;code&gt;code_profiles&lt;/code&gt;, but we're going to use that term since Andy does and it sounds nice. &lt;/p&gt;

&lt;p&gt;He keeps his at the root of his computer so we'll do the same:&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="c"&gt;# From the root of your computer ~/&lt;/span&gt;
&lt;span class="nb"&gt;mkdir &lt;/span&gt;code_profiles
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After your done, &lt;code&gt;cd&lt;/code&gt; into that directory:&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="nb"&gt;cd &lt;/span&gt;code_profiles
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Create your first profile
&lt;/h3&gt;

&lt;p&gt;Since I'm going to be using this for egghead recordings, I'm going to create a new directory called &lt;code&gt;egghead&lt;/code&gt;:&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="c"&gt;# mkdir name-of-profile&lt;/span&gt;
&lt;span class="nb"&gt;mkdir &lt;/span&gt;egghead
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then &lt;code&gt;cd&lt;/code&gt; into that directory:&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="nb"&gt;cd &lt;/span&gt;egghead
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Add your settings.json
&lt;/h3&gt;

&lt;p&gt;VSCode is expecting a &lt;code&gt;data&lt;/code&gt; directory with a &lt;code&gt;User&lt;/code&gt; subdirectory. In there, we'll place our settings:&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="c"&gt;# -p will create parent directories as needed&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; data/User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After those are created, change into that new &lt;code&gt;User&lt;/code&gt; subdirectory and create your &lt;code&gt;settings.json&lt;/code&gt; file:&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="c"&gt;# Go into that directory&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;data/User

&lt;span class="c"&gt;# Create your settings file&lt;/span&gt;
&lt;span class="nb"&gt;touch &lt;/span&gt;settings.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open up your &lt;code&gt;settings.json&lt;/code&gt; file and add in your settings. I'll add a modified version of what Andy &lt;a href="https://github.com/avanslaars/code-profiles/blob/master/egghead/data/User/settings.json" rel="noopener noreferrer"&gt;has in his&lt;/a&gt;:&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;"editor.tabSize"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.quickSuggestions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.parameterHints"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.suggestOnTriggerCharacters"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.hover"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.fontSize"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.tabCompletion"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"window.zoomLevel"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"workbench.colorTheme"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Night Owl"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.cursorBlinking"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"solid"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.cursorStyle"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"line"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.minimap.renderCharacters"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"terminal.integrated.fontSize"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"explorer.openEditors.visible"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&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;h3&gt;
  
  
  4. Test your new code profile
&lt;/h3&gt;

&lt;p&gt;Now let's make sure we did everything right. Assuming you've already set up VSCode to [launch from the command line](&lt;a href="https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line" rel="noopener noreferrer"&gt;https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line&lt;/a&gt;, we can launch our new profile by running:&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="c"&gt;# replace CODE_PROFILE_NAME with the profile name used earlier&lt;/span&gt;
code &lt;span class="nt"&gt;--user-data-dir&lt;/span&gt; ~/code_profiles/CODE_PROFILE_NAME/data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And if it worked, you should see VSCode open with your settings:&lt;br&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%2F8z1m66ocvjocn5wcfeov.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%2F8z1m66ocvjocn5wcfeov.png" alt="screenshot of vscode with new settings"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Create an alias for your profile.
&lt;/h3&gt;

&lt;p&gt;I don't know about you, but I don't want to have to remember &lt;code&gt;code --user-data-dir ...&lt;/code&gt; so let's take Andy's advice and create an alias. &lt;/p&gt;

&lt;p&gt;I'm using &lt;code&gt;zsh&lt;/code&gt; so I'm going to add this alias to my &lt;code&gt;.zshrc&lt;/code&gt; file like so using the keyword "teach":&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="c"&gt;# replace CODE_PROFILE_NAME with the profile name used earlier&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;teach&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"code --user-data-dir ~/code_profiles/CODE_PROFILE_NAME/data"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, when you want to use this code profile, all you have to do is type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;teach ~/projects/lesson
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Woohoo! And that's it. &lt;/p&gt;

&lt;p&gt;Special thanks to &lt;a class="mentioned-user" href="https://dev.to/avanslaars"&gt;@avanslaars&lt;/a&gt; for sharing this. Here's a link to his &lt;a href="https://github.com/avanslaars/code-profiles" rel="noopener noreferrer"&gt;&lt;code&gt;code_profiles&lt;/code&gt; repo&lt;/a&gt; where I learned how to do this. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;NOTE&lt;/em&gt;: If you are using VSCode in Portable mode, there is a &lt;a href="https://github.com/microsoft/vscode/issues/63657" rel="noopener noreferrer"&gt;known bug&lt;/a&gt; where the flag &lt;code&gt;user-data-dir&lt;/code&gt; does not currently work (special thanks to &lt;a class="mentioned-user" href="https://dev.to/myfonj"&gt;@myfonj&lt;/a&gt; for pointing this out).&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>screenrecording</category>
      <category>tips</category>
      <category>codeprofiles</category>
    </item>
    <item>
      <title>React Native - Adding App Icons for Android</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Tue, 25 Jun 2019 16:36:27 +0000</pubDate>
      <link>https://dev.to/jsjoeio/react-native-adding-app-icons-for-android-47e7</link>
      <guid>https://dev.to/jsjoeio/react-native-adding-app-icons-for-android-47e7</guid>
      <description>&lt;p&gt;Recently, I started dabbling in React Native to prep for a new job. Coming from React, things felt familiar. However, it feels like there is less documentation/articles/tutorials out there compared to anything related to the web (which makes sense - React Native hasn't even released a v1). &lt;/p&gt;

&lt;p&gt;One of the things I've been working with is adding an app icon for the Android version of the app I'm building. The goal of this post is to share everything I've learned so far so that maybe it will help you avoid any challenges I ran into.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;WARNING: As mentioned, I am &lt;em&gt;new&lt;/em&gt; to React Native, so please take what I say here with a grain of salt. If you find something that is incorrect, please let me know in the comments.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So let's get to it! 🕺🏼&lt;/p&gt;

&lt;h3&gt;
  
  
  What do I need to know?
&lt;/h3&gt;

&lt;p&gt;In order to add app icons (more commonly called "launch icons") to your Android version of your React Native app, there are a few things you need to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Should my icon be square or round?&lt;/li&gt;
&lt;li&gt;Where do the icons live within my app?&lt;/li&gt;
&lt;li&gt;How do I make them?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'll tackle these one at a time. &lt;/p&gt;

&lt;h3&gt;
  
  
  Should my icon be square or round?
&lt;/h3&gt;

&lt;p&gt;The answer is &lt;em&gt;it depends&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Depending on the OEM device, the system will decide whether it will use a "squareish" icon or a round icon. When I ran my app on the Pixel 2 emulator, the square icon was placed "into" a circular icon and it looked ugly 🤮&lt;/p&gt;

&lt;p&gt;After looking at the docs, I found this section which explained why that was happening:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You must only use the android:roundIcon attribute if you require a different icon asset for circular masks, if for example the branding of your logo relies on a circular shape.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The logo/icon I was using had a circular shape hence why I had an issue.&lt;/p&gt;

&lt;p&gt;In addition to the square and round icons, you may want to create what's known as an "adaptive icon". According the the &lt;a href="https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive"&gt;Android Developer Docs&lt;/a&gt;, "adaptive launcher icons" were introduced in Android 8.0. As of this writing, the latest version is Android 9.0 (also known as Pie). &lt;/p&gt;

&lt;p&gt;To summarize, you may need both, depending on the shape of your icon. And you should definitely check out adaptive icons.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where do the icons live within my app?
&lt;/h3&gt;

&lt;p&gt;Luckily, this answer is pretty straightforward.&lt;/p&gt;

&lt;p&gt;Assuming you created your project using the React Native CLI, they will live here:&lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;|- android
|-- app
|--- src
|---- main
|----- res
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You'll have a bunch of different directories that are prefixed with &lt;code&gt;mipmap&lt;/code&gt; and suffixed with different sizes like &lt;code&gt;hdpi&lt;/code&gt; and &lt;code&gt;mdpi&lt;/code&gt; for instance. &lt;/p&gt;

&lt;p&gt;These will each contain your icon in different sizes.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I make my icons?
&lt;/h3&gt;

&lt;p&gt;I recommend designing your icons in &lt;a href="https://www.figma.com/"&gt;Figma&lt;/a&gt;. You should create two layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;a background layer - the background of the icon&lt;/li&gt;
&lt;li&gt;a foreground layer - the icon&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I created mine in  at 108 x 108 and then exported them as PNGs at 1x. &lt;/p&gt;

&lt;p&gt;Then I followed &lt;a class="comment-mentioned-user" href="https://dev.to/_s_farias"&gt;@_s_farias&lt;/a&gt;
's post called &lt;a href="https://dev.to/_s_farias/how-to-create-adaptive-icons-for-android-using-android-studio-459h"&gt;"How to create adaptive icons for Android using Android Studio"&lt;/a&gt;. This made it very easy to create the icons because Android Studio generated all of them for me and even created &lt;em&gt;most&lt;/em&gt; of the necessary subdirectories. 😄&lt;/p&gt;

&lt;p&gt;*One thing to note:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I did have to manually create a &lt;code&gt;drawable&lt;/code&gt; directory within &lt;code&gt;res&lt;/code&gt;. I then copied the files from the &lt;code&gt;mipmap-xxxhdpi&lt;/code&gt; to the &lt;code&gt;drawable&lt;/code&gt; directory. I don't know if this is right, but the build succeeded and it worked 🤷🏼‍♂️ (Hoping someone will explain the correct way to do this).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Common Errors
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Forgetting to update the &lt;code&gt;AndroidManifest.xml&lt;/code&gt; file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the very beginning, I ran into errors because I forgot to update these two lines within this file:&lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight xml"&gt;&lt;code&gt;      android:icon="@mipmap/ic_launcher"
      android:roundIcon="@mipmap/ic_launcher_round"
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;resource drawable/ic_launcher_foreground&lt;/code&gt; not found&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your build is failing because you didn't create the &lt;code&gt;drawable&lt;/code&gt; directory. See "One thing to note" in previous section.&lt;/p&gt;

&lt;p&gt;Anyways - thanks for reading - hope this helps with you React Native Android icons! 🙏🏼&lt;/p&gt;

&lt;h1&gt;
  
  
  LearnInPublic
&lt;/h1&gt;

</description>
      <category>reactnative</category>
      <category>icons</category>
    </item>
    <item>
      <title>2019 Goals — May Update</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Mon, 03 Jun 2019 18:25:36 +0000</pubDate>
      <link>https://dev.to/jsjoeio/2019-goals-may-update-25hp</link>
      <guid>https://dev.to/jsjoeio/2019-goals-may-update-25hp</guid>
      <description>&lt;p&gt;May was a busy month! I married my best friend and girlfriend of 3.5 years 😍 Hence, I focused on that and put my goals on the side for the month. But here's my update as always.&lt;/p&gt;

&lt;h2&gt;
  
  
  Achievements
&lt;/h2&gt;

&lt;p&gt;Here, I’ll share the goal followed by the related achievement of the month after the arrow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intellectual
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Read 12 Books -&amp;gt; Read "The Meaning of Marriage" and "Remote: Office Not Required"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A friend of ours gave us "The Meaning of Marriage" in preparation for the new chapter. It was full of a lessons and advice on having a successful marriage.&lt;/p&gt;

&lt;p&gt;The other book I read was "Remote: Office Not Required". I'm very interested in remote culture. I work occasionally from home at my current job, but I see remote-work being the "norm" in the future. It also had some interesting strategies for pitching remote-work to your employer, which I may try 😉&lt;/p&gt;

&lt;p&gt;That's all folks! Until next month!&lt;/p&gt;

&lt;p&gt;[Photo by Markus Spiske on Unsplash]&lt;/p&gt;

</description>
      <category>goals</category>
    </item>
    <item>
      <title>2019 Goals — April Update</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Fri, 03 May 2019 17:08:25 +0000</pubDate>
      <link>https://dev.to/jsjoeio/2019-goals-april-update-45f3</link>
      <guid>https://dev.to/jsjoeio/2019-goals-april-update-45f3</guid>
      <description>&lt;p&gt;Last year, I wrote a monthly progress update on my goals. I'm doing the same thing for 2019. Previously, I wrote these articles on Medium. Now I'm switching over to dev.to 😄&lt;/p&gt;

&lt;h2&gt;
  
  
  Achievements
&lt;/h2&gt;

&lt;p&gt;Here, I’ll share the goal followed by the related achievement of the month after the arrow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Emotional
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Focus on relationships that matter -&amp;gt; Spending time with friends/co-workers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I feel like this month I actually made progress towards this goal. I sometimes say yes or do things because I feel like I should rather than because I want to. This month, I spent more time with high school friends that are important to me and I also spend some time with my co-workers outside of work.&lt;/p&gt;

&lt;p&gt;I hope to continue focusing on these important relationships rather than trying to please everyone. &lt;/p&gt;

&lt;h3&gt;
  
  
  Intellectual
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Read 12 Books -&amp;gt; Finished "The Clean Coder" and "Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of my co-workers recommended "The Clean Coder" by Robert Cecil Martin and so I started it last month. It was a fantastic book! It made me realize what it means to be a "professional" developer and gave tips on how to work towards that in my career.&lt;/p&gt;

&lt;p&gt;I also read "Accelerate...". I wasn't a huge fan. The research was interesting, but it felt more like an academic paper published inside a book. It merely validated my previous beliefs of how important things like CI/CD are in shipping software quickly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Launch 2 Products on Product Hunt -&amp;gt; Lots of work on mentored.dev&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;April was a productive month for &lt;a href="https://mentored.dev/"&gt;mentored.dev&lt;/a&gt;! I give some credit to the &lt;a href="https://pioneer.app/"&gt;Pioneer Tournament&lt;/a&gt; I joined, which has forced some accountability on this project. &lt;/p&gt;

&lt;p&gt;I hope to continue making progress and eventually, ship the first version this year. &lt;/p&gt;

&lt;h3&gt;
  
  
  Professional:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Speak at 5 conferences-&amp;gt; &lt;a href="https://magnoliajs.com/"&gt;Spoke at Magnoliajs&lt;/a&gt; (2/5) 🚀&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I had an absolute blast speaking at Magnoliajs in Jackson, Mississippi. It was my first in-person tech conference I was speaking at. &lt;/p&gt;

&lt;p&gt;The experience taught me a lot. I realized:&lt;/p&gt;

&lt;p&gt;1) how down-to-earth tech speakers are&lt;br&gt;
2) jokes/humor can spice up talks more than enthusiasm &lt;/p&gt;

&lt;p&gt;That being said, I hope to continue speaking at meetups/conferences and getting better at my delivery. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write 6 articles -&amp;gt; Published &lt;a href="https://dev.to/jsjoeio/the-practical-checklist-for-getting-a-job-150n"&gt;"The Practical Checklist for Getting a Job"&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I had been holding onto this article for a while. I wrote it up for a friend maybe 6 months ago but never got around to publishing it. Instead, I was sharing it with people privately. &lt;/p&gt;

&lt;p&gt;Now, it's published and ready to be shared with the community! 😄&lt;/p&gt;

&lt;p&gt;That's all folks! Until next month!&lt;/p&gt;

&lt;p&gt;[Photo by Stephen Walker on Unsplash]&lt;/p&gt;

</description>
      <category>goals</category>
    </item>
    <item>
      <title>The Practical Checklist for Getting a Job</title>
      <dc:creator>Joe Previte (he/him)</dc:creator>
      <pubDate>Wed, 01 May 2019 02:14:37 +0000</pubDate>
      <link>https://dev.to/jsjoeio/the-practical-checklist-for-getting-a-job-150n</link>
      <guid>https://dev.to/jsjoeio/the-practical-checklist-for-getting-a-job-150n</guid>
      <description>&lt;p&gt;Maybe you're someone who doesn't have a computer science degree or maybe you don't come from a "technical" background. Maybe you're self-taught or you did a coding bootcamp. Or maybe you've been a software engineer for a few years and you've having trouble landing interviews. &lt;/p&gt;

&lt;p&gt;Either way, you're finding it hard to land your first or next job. Here are practical things you can do to make it happen:&lt;/p&gt;

&lt;h2&gt;
  
  
  💪🏼 Get Real Experience
&lt;/h2&gt;

&lt;p&gt;"&lt;em&gt;Entry-level Front End Developer. Minimum 1-year of experience with React"&lt;/em&gt;. This is a catch-22. How are you supposed to get your first job if all of them require previous experience? Here's what you can do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;☐ Reach out to 3 companies asking if you can do an internship&lt;/li&gt;
&lt;li&gt;☐ Look for contract positions on Upwork, Craigslist or in a local tech community&lt;/li&gt;
&lt;li&gt;☐ Reach out to a local business and offer to redo their website&lt;/li&gt;
&lt;li&gt;☐ Contribute to an open source project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Goal:&lt;/strong&gt; to get &lt;em&gt;something&lt;/em&gt; on your resume. This will help you get through the first gate as a new developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  🗣️ Network
&lt;/h2&gt;

&lt;p&gt;Network, network, network. Meet people. People lead to connections. Connections open the door for jobs. The more people you know and the more people you help, the more likely you are to find that next job. Do these things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;☐ DM 3 people on Twitter who do what you want to do. Learn from them.&lt;/li&gt;
&lt;li&gt;☐ Go to 3 local meetups and talk to people&lt;/li&gt;
&lt;li&gt;☐ Speak at 1 meetup. Give a lightening talk. Get your name out there. Mingle with meetup organizers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Goal:&lt;/strong&gt; to make connections and &lt;em&gt;establish yourself&lt;/em&gt; in the industry. If you help others, good things will happen. Being known in the industry means opportunities will come to &lt;em&gt;you&lt;/em&gt;, rather than you seeking them out.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✍️ Share What You Learn
&lt;/h2&gt;

&lt;p&gt;It's very easy to silo yourself and learn in a "cave" but share with the world what you're doing! It might inspire others, you might teach someone something new, and it's a good way for potential employers to see what you're doing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;☐ Start your own blog and write a weekly post&lt;/li&gt;
&lt;li&gt;☐ Write 1 blog post about something you built. Get it published on a well-known blog.&lt;/li&gt;
&lt;li&gt;☐ Tweet about what you learn via #100DaysOfCode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Goal:&lt;/strong&gt; to share publicly what you're doing as a developer to further your knowledge and skills. Plus the way you explain something might click for someone in ways other articles weren't able to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔨 Build Projects
&lt;/h2&gt;

&lt;p&gt;If your portfolio and GitHub do not have projects in them, you are not going to get an interview. The projects you showcase speak to your technical ability. This is especially important if you don't have a CS degree.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;☐ Build 1 project that solves an everyday problem for you&lt;/li&gt;
&lt;li&gt;☐ Pin 4 projects to your GitHub profile page

&lt;ul&gt;
&lt;li&gt;☐ Write friendly READMEs with information about each project&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Goal:&lt;/strong&gt; to have substantial websites/apps that demonstrate what you can do. These will help you stand out among applicants and be good talking points during your interview.&lt;/p&gt;

&lt;p&gt;If you do &lt;strong&gt;all of these things&lt;/strong&gt; and you still can't get an interview, let me know. I will do my best to help you figure out what more you can do. However, I'm fairly confident this will put you on the right path 😄&lt;/p&gt;

&lt;p&gt;[Cover Photo by Andrew Neel on Unsplash]&lt;/p&gt;

</description>
      <category>job</category>
      <category>checklist</category>
      <category>newbie</category>
      <category>advice</category>
    </item>
  </channel>
</rss>
