<?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: Peter Denham</title>
    <description>The latest articles on DEV Community by Peter Denham (@peterdenham).</description>
    <link>https://dev.to/peterdenham</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%2F162404%2F8b10d351-96ed-41bf-8f7c-5198dd55ab1c.jpeg</url>
      <title>DEV Community: Peter Denham</title>
      <link>https://dev.to/peterdenham</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/peterdenham"/>
    <language>en</language>
    <item>
      <title>Weekly Developer reading</title>
      <dc:creator>Peter Denham</dc:creator>
      <pubDate>Thu, 08 Oct 2020 04:00:00 +0000</pubDate>
      <link>https://dev.to/peterdenham/weekly-developer-reading-1md1</link>
      <guid>https://dev.to/peterdenham/weekly-developer-reading-1md1</guid>
      <description>&lt;p&gt;In a fast-changing dev landscape, it can be tough to keep up with the latest news. I gave up on constant refreshing of developer news sites/discussion forums a while ago in favor of reading a select few (weekly) digests by e-mail. It's important that they don't interrupt my daily tasks, but are there when it suits to do some reading.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.ben-evans.com/newsletter"&gt;Benedict's Newsletter&lt;/a&gt; - &lt;em&gt;"a weekly email newsletter about what's happening in tech that actually matters, and what it means. I pick out the news and ideas you don't want to miss in all the noise, and give them context and analysis. "&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.lastweekinaws.com/"&gt;Last Week in AWS&lt;/a&gt; - &lt;em&gt;"Posts about AWS come out over sixty times a day and the signal to noise ratio is abysmal. I filter through it all to find the hidden gems, the community contributions - the stuff worth reading!"&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.jetbrains.com/webstorm/"&gt;JetBrains Blogs&lt;/a&gt; - Latest product features updates from JetBrains&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://kentcdodds.com/subscribe/"&gt;Kent C Dodds Newsletter&lt;/a&gt; - Focused on Javascript/React/Testing and tooling&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nodeweekly.com/"&gt;Node Weekly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dbweekly.com/"&gt;Database Weekly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://react.statuscode.com/"&gt;React Status&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://weekly.bestofjs.org/"&gt;Best of JavaScript&lt;/a&gt; - not a curated newsletter, but something you can quickly scan for trending javascript libraries of the week&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What are some newsletters/sources you use to keep up with developer news?&lt;/p&gt;

</description>
      <category>developer</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>40% Keyboard Programming on Vortex Core</title>
      <dc:creator>Peter Denham</dc:creator>
      <pubDate>Wed, 08 Jan 2020 05:00:00 +0000</pubDate>
      <link>https://dev.to/peterdenham/40-keyboard-programming-on-vortex-core-5657</link>
      <guid>https://dev.to/peterdenham/40-keyboard-programming-on-vortex-core-5657</guid>
      <description>&lt;p&gt;&lt;em&gt;(this is a WIP)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I recently started using a 40% keyboard (vortex core) as my daily driver for the $dayjob . It's a nice compact board, but the default layout isn't very effecient for programming, specially common symbols used in development are tucked behind weird key combinations.&lt;/p&gt;

&lt;p&gt;I took some inspiration from the planck and another users reddit post. Another reddit user created a better &lt;a href="https://github.com/jackson15j/vortex_core"&gt;MPC&lt;/a&gt; than the official version for remapping keys on the core, which was super handy for iterating and testing several layouts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Some of my design decisions
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enter on left space bar, as the home row is one key short of a 60 keyboard and missing the apostrophes was constantly tripping me up&lt;/li&gt;
&lt;li&gt;Swapped Fn1 and Fn physical keys. Red Fn1 is a little easier to hit for the common programming symbols layer. Blue Fn key layer is for navigation and media keys. I kept the mapping to the printed keys so they're a littler earier to learn&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--s9Q9OlbO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://localhost:4000/assets/img/vortex-core-1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--s9Q9OlbO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://localhost:4000/assets/img/vortex-core-1.png" alt="vortex core"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Limitations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Macros are great for reducing all the shift-key operations from 3 to 2 key combos. There is a limit of 20 macros per layer, which limits your options.&lt;/li&gt;
&lt;li&gt;Key combinations sometimes mis-fire. I found you need to hit the modifier key f&lt;/li&gt;
&lt;li&gt;Windows required to use the MPC web interface the first tim&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.keyboard-layout-editor.com/#/gists/f69146792aedb7ccea48a441d73ce916"&gt;Vortex Core Keyboard Layout&lt;/a&gt; designer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tsfreddie.github.io/much-programming-core/"&gt;Much Programming Core&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mechanical</category>
      <category>keyboard</category>
      <category>vortex</category>
      <category>core</category>
    </item>
    <item>
      <title>Best RubyMine plugins for Ruby on Rails development</title>
      <dc:creator>Peter Denham</dc:creator>
      <pubDate>Tue, 31 Dec 2019 05:00:00 +0000</pubDate>
      <link>https://dev.to/peterdenham/best-rubymine-plugins-for-ruby-on-rails-development-1n97</link>
      <guid>https://dev.to/peterdenham/best-rubymine-plugins-for-ruby-on-rails-development-1n97</guid>
      <description>&lt;p&gt;These are a few of my favorite plugins that boost my productivity with RubyMine for Ruby on Rails.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/9525--env-files-support/"&gt;.env files support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/7495--ignore"&gt;.ignore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/7275-codeglance/"&gt;codeglance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/7499-gittoolbox/"&gt;gittoolbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/7125-grep-console"&gt;grep console&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/164-ideavim"&gt;ideavim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/8006-material-theme-ui/"&gt;material theme ui&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/6311-quickjump/"&gt;quickjump&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/10080-rainbow-brackets"&gt;rainbow brackets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/12798-tabnine/"&gt;tabnine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Would love to hear any others that you find useful in your workflow!&lt;/p&gt;

</description>
      <category>rails</category>
      <category>ruby</category>
      <category>ide</category>
      <category>rubymine</category>
    </item>
    <item>
      <title>Rubymine, rvm, git and overcommit issues</title>
      <dc:creator>Peter Denham</dc:creator>
      <pubDate>Thu, 10 Oct 2019 00:10:40 +0000</pubDate>
      <link>https://dev.to/peterdenham/rubymine-rvm-git-and-overcommit-issues-4dg1</link>
      <guid>https://dev.to/peterdenham/rubymine-rvm-git-and-overcommit-issues-4dg1</guid>
      <description>&lt;p&gt;Something I've struggled with in my environment recently is using RubyMine/IntelliJ across multiple microservice projects with git and overcommit hooks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Yah9M5A---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/4flnun7rdy1thh5fgtzs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yah9M5A---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/4flnun7rdy1thh5fgtzs.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When committing/pulling from a git repo it would often complain about ruby version mismatches, overcommit gem not being installed etc.&lt;/p&gt;

&lt;p&gt;After some digging, I finally &lt;a href="https://youtrack.jetbrains.com/issue/RUBY-17869"&gt;came across an old bug report&lt;/a&gt; in the RubyMine backlog which mimics the behaviors I've been experiencing.&lt;/p&gt;

&lt;p&gt;The root cause seems to be RubyMine not respecting the ruby version as set by rvm for each project, and it is in fact using the default system ruby. Once I realized this, the issue symptoms I was seeing started to make a lot of sense!&lt;/p&gt;

&lt;p&gt;Some developers have mentioned having more success with rbenv instead of rvm, but haven't seen consensus with that either. Another workaround is to use github for mac desktop application - but the trick is to launch it from the command line from your project root folder with &lt;code&gt;github .&lt;/code&gt; so it has the ruby environment loaded. This is a pain too, especially when working on several projects, each with their individual ruby and overcommit version conflicts.&lt;/p&gt;

&lt;p&gt;Once I find an acceptable workaround I'll update this post, but hopefully this will get some exposure for others experiencing the same issue, or someone can reach out if they have a better workaround/solution!&lt;/p&gt;

</description>
      <category>rubymine</category>
      <category>rvm</category>
      <category>git</category>
      <category>overcommit</category>
    </item>
    <item>
      <title>Personal domain e-mail on AWS with Gandi</title>
      <dc:creator>Peter Denham</dc:creator>
      <pubDate>Sat, 28 Sep 2019 04:00:00 +0000</pubDate>
      <link>https://dev.to/peterdenham/personal-domain-e-mail-on-aws-with-gandi-4ofl</link>
      <guid>https://dev.to/peterdenham/personal-domain-e-mail-on-aws-with-gandi-4ofl</guid>
      <description>&lt;p&gt;I recently moved hosting of my domains over from a &lt;a href="http://asmallorange.com"&gt;managed hosting provider&lt;/a&gt; of several years to &lt;a href="https://aws.amazon.com/"&gt;AWS&lt;/a&gt;. While there is the inherant time sink of managing the infrastructure yourself, I didn’t want to maintain an e-mail server.&lt;/p&gt;

&lt;p&gt;My domain registrar, &lt;a href="https://www.gandi.net/en"&gt;gandi&lt;/a&gt;, provides 2 free e-mail addresses per domain, and unlimited forwarding accounts.&lt;/p&gt;

&lt;p&gt;While your domain may be hosted on AWS (using aws nameservers), you can update the dns configuration to point to gandi’s mail servers, and setup and manage all your domain name e-mail addresses from gandi's console.&lt;/p&gt;

&lt;p&gt;This is managed in you aws console under Route53, Hosted Zones, . You'll then want to create two record sets for the domain as follows:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Alias&lt;/th&gt;
&lt;th&gt;TTL&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Routing Policy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MX&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10800&lt;/td&gt;
&lt;td&gt;10 spool.mail.gandi.net.&lt;/td&gt;
&lt;td&gt;Simple&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MX&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10800&lt;/td&gt;
&lt;td&gt;50 fb.mail.gandi.net.&lt;/td&gt;
&lt;td&gt;Simple&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TXT&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10800&lt;/td&gt;
&lt;td&gt;“v=spf1 include:_mailcust.gandi.net ?all”&lt;/td&gt;
&lt;td&gt;Simple&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9CYnL2yf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vsdxp6rbcgkywfzpwhgq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9CYnL2yf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vsdxp6rbcgkywfzpwhgq.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>email</category>
      <category>hosting</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
