<?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: Paul Jacobson</title>
    <description>The latest articles on DEV Community by Paul Jacobson (@pauljacobson).</description>
    <link>https://dev.to/pauljacobson</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%2F36299%2F548d0866-4da7-4ef3-a673-68126f02f3c8.jpeg</url>
      <title>DEV Community: Paul Jacobson</title>
      <link>https://dev.to/pauljacobson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pauljacobson"/>
    <language>en</language>
    <item>
      <title>Unfashionably still an Atom editor fan</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Sat, 03 Nov 2018 16:22:53 +0000</pubDate>
      <link>https://dev.to/pauljacobson/unfashionably-still-an-atom-editor-fan-4i3l</link>
      <guid>https://dev.to/pauljacobson/unfashionably-still-an-atom-editor-fan-4i3l</guid>
      <description>

&lt;p&gt;I’ve loved the idea of &lt;a href="https://atom.io/"&gt;the Atom editor&lt;/a&gt; since I saw &lt;a href="https://www.youtube.com/watch?v=Y7aEiVwBAdk"&gt;the initial announcement video&lt;/a&gt; three years ago:&lt;/p&gt;

&lt;p&gt;I used it on and off as a text editor since it was released. Sure, it was sluggish, but I didn’t think too much of it. I used Atom for a text-based productivity system a couple years ago, when I couldn’t find a cross-platform task management system I liked. At some point, I decided to try something a little more responsive, and lightweight.&lt;/p&gt;

&lt;p&gt;All the cool kids seem to be using Visual Studio Code, and they love it. There’s certainly a lot to like about Microsoft’s (mostly) open source code editor. It’s lightweight, extensible through a range of really good extensions, it’s cross-platform, and free.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bxaXeSwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/pauljacobson.me/wp-content/uploads/2018/11/test_py.gif%3Fw%3D1100%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bxaXeSwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/pauljacobson.me/wp-content/uploads/2018/11/test_py.gif%3Fw%3D1100%26ssl%3D1" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used it for a while, and enjoyed it. As a newbie coder, it gives me a &lt;em&gt;lot&lt;/em&gt; of feedback as I poke around at my coding projects. This can be really helpful, for sure. That’s probably one of the reasons I used VS Code for as long as I did (and why I still have it installed on my laptop). Of course, another reason why I used it is that a number of developers I follow have raved about it.&lt;/p&gt;

&lt;p&gt;I initially moved off VS Code, and returned to Atom earlier this year when I started using a more powerful MacBook Pro, and felt drawn back to Atom for some reason. Part of the reason was that &lt;a href="https://github.com/neilsustc/vscode-markdown/issues/200"&gt;a Markdown extension I relied on in VS Code stopped working for me&lt;/a&gt; (at least when I used it in conjunction with Alfred.app that I use heavily for my work).&lt;/p&gt;

&lt;p&gt;When I came back to Atom, I noticed how well some of the packages I installed seemed to fit into how I worked. The &lt;a href="https://atom.io/packages/markdown-writer"&gt;Markdown Writer package&lt;/a&gt;, for one, has become one of my favourite packages, just because it makes it easier for me to write in Markdown.&lt;/p&gt;

&lt;p&gt;There was certainly a point where &lt;a href="https://discuss.atom.io/t/if-little-bugs-arent-fixed-in-atom-does-this-editor-have-a-future/55915"&gt;I was concerned about Atom’s ongoing development&lt;/a&gt;, and how seemingly simple issues didn’t appear to be addressed. I received some good feedback on this, and moved on.&lt;/p&gt;

&lt;p&gt;One of my colleagues recommended &lt;a href="https://www.sublimetext.com/"&gt;Sublime Text&lt;/a&gt;, so I spent some time testing it out. I love how quickly it starts up, how similar it is to Atom (well, more the other way round). At the same time, I’m not sure I can justify paying the cost for Sublime Text because Atom does want I want to do, with less of the fiddling I need to do to Sublime Text to configure it for how I like to work (mostly keybindings, and Markdown support).&lt;/p&gt;

&lt;p&gt;It’s not that Sublime Text isn’t worth the $80 license fee, it really is (and I agree with paying for good quality software). Even though it took me a few weeks to configure it to work pretty well for me, there are little features that I absolutely love. One little one that I discovered is how it automatically closes HTML tags when I start typing closing tags. These little things are awesome, and bring a little more joy to my day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--56Ogd67V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i1.wp.com/pauljacobson.me/wp-content/uploads/2018/11/sublime_text_html_tag_close.gif%3Fw%3D1100%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--56Ogd67V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i1.wp.com/pauljacobson.me/wp-content/uploads/2018/11/sublime_text_html_tag_close.gif%3Fw%3D1100%26ssl%3D1" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the meantime, Atom has been improving with each release. Sure, it doesn’t have all the tips and feedback that VS Code, and it loads a little slower (although not as much as it used to). I don’t mind that as much actually. I stick with Atom because it works for me.&lt;/p&gt;

&lt;p&gt;It fits into how I write Markdown, works well enough for me when I switch over to CSS, HTML, Python, shell scripts, JavaScript, and so on. On those occasions when I need extra help, I may dip back into VS Code, or give Sublime Text another go.&lt;/p&gt;

&lt;p&gt;I’m also just figuring out how to “hack” this “hackable text editor for the 21st Century”, and I really enjoy this sort of freedom with my text editor. There’s still so much I can learn about how to use my editor more effectively. Another colleague pointed out a really cool Emmet feature that just blew my mind.&lt;/p&gt;

&lt;p&gt;So, in a time when everyone seems to be flocking to VS Code, I thought I’d add my vote for Atom. I’m still a fan, thanks GitHub!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unsplash.com/@lucabravo?utm_medium=referral&amp;amp;utm_campaign=photographer-credit&amp;amp;utm_content=creditBadge"&gt;unsplash-logo&lt;br&gt;
Featured image by Luca Bravo&lt;/a&gt;&lt;/p&gt;


</description>
      <category>applications</category>
      <category>coding</category>
      <category>usefulstuff</category>
      <category>atomeditor</category>
    </item>
    <item>
      <title>If little bugs aren't fixed in Atom, does this editor have a future?</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Fri, 08 Jun 2018 17:30:54 +0000</pubDate>
      <link>https://dev.to/pauljacobson/if-little-bugs-arent-fixed-in-atom-does-this-editor-have-a-future-4dnp</link>
      <guid>https://dev.to/pauljacobson/if-little-bugs-arent-fixed-in-atom-does-this-editor-have-a-future-4dnp</guid>
      <description>

&lt;p&gt;I've been using Atom as my primary editor for a few months, and I enjoy using it for the most part. Before that I used VS Code for almost a year.&lt;/p&gt;

&lt;p&gt;I decided to go back to Atom because I want to support a truly open source editor (as far as I know, it's open source through and through). Also, I have a more powerful laptop so I don't notice the additional demands on resources, compared to VS Code.&lt;/p&gt;

&lt;p&gt;I noticed a silly bug where the cursor doesn't move to the correct position when inserting a comment using &lt;code&gt;CMD&lt;/code&gt; + &lt;code&gt;/&lt;/code&gt;. I opened an issue on GitHub (&lt;a href="https://github.com/atom/atom/issues/17199"&gt;#17199&lt;/a&gt;) after noticing that a previous, similar, issue (&lt;a href="https://github.com/atom/atom/issues/4784"&gt;#4784&lt;/a&gt;) was marked as stale in September 2017, and closed.&lt;/p&gt;

&lt;p&gt;My issue was closed because it was marked as a duplicate of #4784 and I was given the following feedback:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This feedback, in itself, is good feedback. It explains why duplicate issues are closed. It's a reasonable approach to take.&lt;/p&gt;

&lt;p&gt;My concern is more that the "original" issue went stale in September 2017 after being reported in December 2014. This issue just isn't being dealt with.&lt;/p&gt;

&lt;p&gt;Granted, this bug isn't exactly mission critical, and I manage to do what I need to do with it manifesting. At the same time, it leaves me wondering if ignoring these little bugs bodes ill for Atom going forward?&lt;/p&gt;

&lt;p&gt;As wary as I am about Microsoft, maybe VS Code is the way to go. They seem to be pretty responsive to bug reports (or so I hear), and little things like cursor positioning when creating comments work there.&lt;/p&gt;


</description>
      <category>discuss</category>
      <category>atom</category>
      <category>texteditor</category>
    </item>
    <item>
      <title>Making sense of JavaScript array methods with Array Explorer</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Thu, 28 Dec 2017 06:23:28 +0000</pubDate>
      <link>https://dev.to/pauljacobson/making-sense-of-javascript-array-methods-with-array-explorer-123h</link>
      <guid>https://dev.to/pauljacobson/making-sense-of-javascript-array-methods-with-array-explorer-123h</guid>
      <description>&lt;p&gt;&lt;a href="https://twitter.com/sarah_edo" rel="noopener noreferrer"&gt;Sarah Drasner&lt;/a&gt; shared her awesome &lt;a href="https://sdras.github.io/array-explorer/" rel="noopener noreferrer"&gt;Array Explorer&lt;/a&gt; tool on Twitter the other day. It’s design is pretty simple, and yet a powerful way to learn JavaScript arrays. What you do is pick a couple options from drop-down lists to find the right array method you need for a project. &lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-946091648773013504-782" src="https://platform.twitter.com/embed/Tweet.html?id=946091648773013504"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-946091648773013504-782');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=946091648773013504&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;I still find arrays challenging and yet learning how to work with them in JavaScript is so important. If you’re still figuring this stuff out, definitely take a look at Array Explorer, bookmark it, and use it.&lt;/p&gt;

&lt;p&gt;Sarah even made &lt;a href="https://github.com/sdras/array-explorer" rel="noopener noreferrer"&gt;the code&lt;/a&gt; for Array Explorer available on GitHub so you can see how she put it together too.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>methods</category>
      <category>javascript</category>
      <category>arrays</category>
    </item>
    <item>
      <title>An awesome thread about developers’ careers</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Mon, 25 Dec 2017 14:38:50 +0000</pubDate>
      <link>https://dev.to/pauljacobson/an-awesome-thread-about-developers-careers-c04</link>
      <guid>https://dev.to/pauljacobson/an-awesome-thread-about-developers-careers-c04</guid>
      <description>

&lt;p&gt;Stephanie Hurlburt asked for stories from developers about their career paths &lt;a href="https://twitter.com/sehurlburt/status/945039569291919360"&gt;on Twitter&lt;/a&gt;, and it quickly became one of the best threads I’ve read in a while. As you can imagine, I have a particular interest in stories about other developers’ careers given &lt;a href="https://pauljacobson.me/2017/12/08/42/"&gt;my journey this year&lt;/a&gt;. This thread didn’t disappoint.&lt;/p&gt;

&lt;p&gt;I started reading the thread when I woke up this morning and, boy, what a great way to start a day.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;&lt;div class="ltag__twitter-tweet__main"&gt;
&lt;div class="ltag__twitter-tweet__header"&gt;
&lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--d2zfXQVd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/938004941481771008/Z_-Pv-v2_normal.jpg"&gt;&lt;div class="ltag__twitter-tweet__full-name"&gt;Stephanie Hurlburt&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__username"&gt;@sehurlburt&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__twitter-logo"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kX-SksTr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-eb8b335b75231c6443385ac04fdfcaed8ca5423c3990e89dc0178a4090ac1908.svg"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__body"&gt;Twitter friends, I have a request of you.&lt;br&gt;&lt;br&gt;If you got into computer science after undergrad or were self taught lat… &lt;a href="https://t.co/2ePvb3YzZ2"&gt;twitter.com/i/web/status/9…&lt;/a&gt;
&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__date"&gt;21:12 PM - 24 Dec 2017&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__actions"&gt;
&lt;a href="https://twitter.com/intent/tweet?in_reply_to=945039569291919360" class="ltag__twitter-tweet__actions__button"&gt;&lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;&lt;/a&gt;&lt;a href="https://twitter.com/intent/retweet?tweet_id=945039569291919360" class="ltag__twitter-tweet__actions__button"&gt;&lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;&lt;/a&gt;444&lt;a href="https://twitter.com/intent/like?tweet_id=945039569291919360" class="ltag__twitter-tweet__actions__button"&gt;&lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;&lt;/a&gt;1016&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;


</description>
      <category>businessandwork</category>
      <category>coding</category>
      <category>careers</category>
    </item>
    <item>
      <title>Inspiring developers make Twitter worthwhile</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Sat, 16 Dec 2017 16:45:07 +0000</pubDate>
      <link>https://dev.to/pauljacobson/inspiring-developers-make-twitter-worthwhile-28bp</link>
      <guid>https://dev.to/pauljacobson/inspiring-developers-make-twitter-worthwhile-28bp</guid>
      <description>

&lt;p&gt;Twitter has become a complicated digital space, to say the least. My “&lt;a href="https://twitter.com/pauljacobson/lists/inspiring-developers"&gt;Inspiring developers&lt;/a&gt;” Twitter list is one of the highlights of my Twitter experience, and &lt;a href="https://twitter.com/pauljacobson/lists/inspiring-developers/members"&gt;the developers on that list&lt;/a&gt; make Twitter worthwhile for me, despite all the cruft we see there.&lt;/p&gt;

&lt;p&gt;One of the themes that Twitter has helped highlight is how women developers are routinely marginalised, dismissed, devalued. I decided to seek out inspiring women developers and follow them because I was interested in their perspectives on development, life, and other issues.&lt;/p&gt;

&lt;p&gt;I’m glad I did. Sure, there are some men on that list (there are plenty of male developers who I admire too) but I wanted to be exposed to different voices.&lt;/p&gt;

&lt;p&gt;I am continually inspired by the developers I add to my list, and there are times when I’m tempted to unfollow virtually everyone else and just focus on this growing group of smart, thoughtful, and innovative professionals. &lt;a href="https://twitter.com/pauljacobson/lists/inspiring-developers"&gt;See for yourself&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I have learned so much from virtually every person on this list. The fact that this list began as an effort to focus on women developers has become secondary to how much I appreciate being able to subscribe to their shared thoughts.&lt;/p&gt;

&lt;p&gt;By the way, if there are developers who aren’t on my list and who inspire you, let me know in the comments or &lt;a href="https://twitter.com/pauljacobson" rel="noopener"&gt;on Twitter&lt;/a&gt;?&lt;/p&gt;


</description>
      <category>coding</category>
      <category>people</category>
      <category>socialweb</category>
      <category>developers</category>
    </item>
    <item>
      <title>Parenting moments with shell scripting</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Thu, 07 Dec 2017 15:27:22 +0000</pubDate>
      <link>https://dev.to/pauljacobson/parenting-moments-with-shell-scripting-54bm</link>
      <guid>https://dev.to/pauljacobson/parenting-moments-with-shell-scripting-54bm</guid>
      <description>

&lt;p&gt;I’m both fascinated by and borderline besotted with shell scripting (you know, all that command line stuff). It turns out my son is intrigued by what you can do from the command line, and it opens the door to some pretty cool parenting moments.&lt;/p&gt;

&lt;p&gt;This afternoon I showed my son a little script I wrote that opens &lt;a href="https://www.mozilla.org/en-US/firefox/developer/"&gt;Firefox Developer Edition&lt;/a&gt;, &lt;a href="https://code.visualstudio.com/"&gt;VS Code&lt;/a&gt;, &lt;a href="https://www.rememberthemilk.com/"&gt;Remember the Milk&lt;/a&gt;, and displays the weather forecast for my city just by running an aliased script from my command line. &lt;a href="https://github.com/jessfraz/weather"&gt;The weather service is a very cool command line script that Jessie Frazelle wrote&lt;/a&gt;.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;&lt;div class="ltag__twitter-tweet__main"&gt;
&lt;div class="ltag__twitter-tweet__header"&gt;
&lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--E0Bn4Oh2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/943733964929454081/YDvMc4BO_normal.jpg"&gt;&lt;div class="ltag__twitter-tweet__full-name"&gt;Paul Jacobson&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__username"&gt;@pauljacobson&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__twitter-logo"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kX-SksTr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-eb8b335b75231c6443385ac04fdfcaed8ca5423c3990e89dc0178a4090ac1908.svg"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__body"&gt;This &lt;a href="https://twitter.com/hashtag/commandline"&gt;#commandline&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/weather"&gt;#weather&lt;/a&gt; app/service from &lt;a href="https://twitter.com/jessfraz"&gt;@jessfraz&lt;/a&gt; is easily the coolest thing I've seen today. 🤓 &lt;a href="https://t.co/UatUl51dJY"&gt;github.com/jessfraz/weath…&lt;/a&gt;
&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__date"&gt;13:15 PM - 04 Dec 2017&lt;/div&gt;
&lt;div class="ltag__twitter-tweet__actions"&gt;
&lt;a href="https://twitter.com/intent/tweet?in_reply_to=937671751273676800" class="ltag__twitter-tweet__actions__button"&gt;&lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;&lt;/a&gt;&lt;a href="https://twitter.com/intent/retweet?tweet_id=937671751273676800" class="ltag__twitter-tweet__actions__button"&gt;&lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;&lt;/a&gt;18&lt;a href="https://twitter.com/intent/like?tweet_id=937671751273676800" class="ltag__twitter-tweet__actions__button"&gt;&lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;&lt;/a&gt;104&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;My son was astounded when he saw all these apps open after typing a single command in &lt;a href="https://www.iterm2.com/"&gt;iTerm2&lt;/a&gt;. He immediately asked me to create something for him.&lt;/p&gt;

&lt;p&gt;So I wrote a similar script for him for his Ubuntu PC. It doesn’t work quite the same as mine does on my Mac (Linux has an interesting way of opening some apps that tethers them to the terminal session) but he now has a little command he can use to open VS Code and give him a weather update from his terminal.&lt;/p&gt;

&lt;p&gt;I love that he’s also into these things. He asked me to introduce him to something he can use to learn all these shell commands. He wants to write them down in a sort of cheatsheet. I have a couple of resources (&lt;a href="http://www.tldp.org/index.html"&gt;the Linux Documentation Project&lt;/a&gt; is an awesome one I only recently came across) I’ll share with him, I think he’ll get a kick out of learning this stuff.&lt;/p&gt;


</description>
      <category>coding</category>
      <category>education</category>
      <category>eventsandlife</category>
      <category>commandline</category>
    </item>
    <item>
      <title>My favourite shell command for today – prepend lines of text in seconds</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Mon, 13 Nov 2017 11:56:57 +0000</pubDate>
      <link>https://dev.to/pauljacobson/my-favourite-shell-command-for-today--prepend-lines-of-text-in-seconds-4dja</link>
      <guid>https://dev.to/pauljacobson/my-favourite-shell-command-for-today--prepend-lines-of-text-in-seconds-4dja</guid>
      <description>

&lt;p&gt;I’m working on a lead generation project for a client this week that, interestingly, led me to a simple, time-saving shell command that enables me to prepend lines of text with a simple quotation mark. It’s more impressive than it sounds because it saved me considerably more time than it took to write and run it.&lt;/p&gt;

&lt;p&gt;One of the methods I’m using to find leads is by running Boolean searches that incorporate multiple search parameters. The search terms are pretty long and look a little like this: &lt;code&gt;"Managing director" OR "sales director" OR "sales manager" OR "procurement manager" OR ...&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;My starting point is generally a list of search parameters that I need to convert into a Boolean search query. For example:&lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Managing director

sales director

sales manager

procurement manager
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Except the lists are a lot longer. I started off by adding my lists to &lt;a href="https://code.visualstudio.com/"&gt;VS Code&lt;/a&gt; because working with this sort of thing in plain text greatly simplifies the process. One of the things I love about VS Code is that you can add a cursor to the end of each line in the text you select. This probably comes from Sublime Text and it’s an awesome feature.&lt;/p&gt;

&lt;p&gt;The reason why this comes in handy is because I want to place each of those search terms into quotes so I can string them together with Boolean operators like &lt;code&gt;AND&lt;/code&gt;, &lt;code&gt;OR&lt;/code&gt;, and &lt;code&gt;NOT&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The challenge I found myself facing is how to move the cursor to the &lt;em&gt;beginning&lt;/em&gt; of each like to add the opening quotation mark? Because each line is a different length, I couldn’t just move the cursors from the end of each line to the beginning. I also &lt;a href="https://marketplace.visualstudio.com/items?itemName=kaiwood.insert-cursor-at-beginning-of-each-line-selected"&gt;didn’t want to overwrite the feature&lt;/a&gt; that lets me add cursors to the end of each line, either.&lt;/p&gt;

&lt;p&gt;I thought that there must be some sort of shell command or script I could run that would parse the text file and add an opening quotation mark to the beginning of each line. It turns out &lt;a href="https://stackoverflow.com/questions/2099471/add-a-prefix-string-to-beginning-of-each-line"&gt;there is&lt;/a&gt; (of course). Like many shell commands, it is deceptively simple and does exactly what it says on the box (if there was a box).&lt;/p&gt;

&lt;p&gt;There are three options (probably more if you want something different) that I looked at:&lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sed -e 's/^/prefix/' file

# If you want to edit the file in-place
sed -i -e 's/^/prefix/' file

# If you want to create a new file
sed -e 's/^/prefix/' file &amp;gt; file.new
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;I went with option 3 and simply replaced the word &lt;code&gt;prefix&lt;/code&gt; with my opening quotation mark and ran the command. I output the command to a new file because I didn’t want to destroy my original list. It ran instantly and when I opened the new file, I had quotation marks at the beginning of each line.&lt;/p&gt;

&lt;p&gt;From there it was a relatively simple matter to add cursors to the end of each line to add my Boolean operator for my searches.&lt;/p&gt;

&lt;p&gt;Using shell commands may seem absurdly geeky when we have GUIs for just about everything, but the more I learn about shell scripting, the more it amazes me. This particular line of code seems innocuous enough but it did something for me in seconds that would otherwise have taken a lot longer.&lt;/p&gt;


</description>
      <category>prependlinesoftext</category>
      <category>shellscripting</category>
    </item>
    <item>
      <title>Real-time, date-time JavaScript code for your website</title>
      <dc:creator>Paul Jacobson</dc:creator>
      <pubDate>Sun, 22 Oct 2017 09:59:39 +0000</pubDate>
      <link>https://dev.to/pauljacobson/real-time-date-time-javascript-code-for-your-website-41e9</link>
      <guid>https://dev.to/pauljacobson/real-time-date-time-javascript-code-for-your-website-41e9</guid>
      <description>

&lt;p&gt;&lt;em&gt;I’ve been on a little bit of a journey over the last 6 months or so. I’ll explain in a future blog post but the short version is that I’ve expanded my skills to web development. I’ve been developing solutions to challenges I face as I learn more, and as I continue to update my &lt;a href="http://modiinbus.com"&gt;Modi’in Bus&lt;/a&gt; project. I thought I’d start sharing some of those little solutions here on my blog, in addition to other helpful spaces.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I wanted to create a live date/time string for &lt;a href="http://modiinbus.com"&gt;Modi’in Bus&lt;/a&gt;. My goal was to use JavaScript to insert a line that stated the current date and time. I searched for a few explanations of how to effectively use the JavaScript &lt;code&gt;getDate()&lt;/code&gt; method (here is &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate"&gt;the MDN documentation&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Adding the date is relatively straightforward. I couldn’t find a clean solution for adding a clock that changes in real-time, until I found &lt;a href="https://codepen.io/k3no/pen/akEQJB"&gt;this great implementation&lt;/a&gt; by &lt;a href="http://www.k3no.com/"&gt;Eugenio Leon&lt;/a&gt;. The challenge with the time is that you want the live display to be dynamic, and not just update when you refresh.&lt;/p&gt;

&lt;p&gt;The solution I came up with (with the help of the resources I mentioned) uses ES6 syntax, and seems to work pretty much as expected.&lt;/p&gt;

&lt;p&gt;This is &lt;a href="https://gist.github.com/pauljacobson/f388945b61be9bd86acb06a99f475dbc"&gt;my solution&lt;/a&gt;. The script determines the current date and time, and inserts it into a &lt;code&gt;div&lt;/code&gt; element with the class of &lt;code&gt;container&lt;/code&gt; in my site code:&lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// The purpose of this block is to list the month names 
// which will correspond with the corresponding numerical 
// value of the particular month that is other derived from the getDate() method.
Date.prototype.monthName = function() {
  const monthsOfYear = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
  return monthsOfYear[this.getMonth()];
}

// As with the previous block, this block states the days 
// of the week so the script can match the named days of 
// the week to corresponding numerical values.
Date.prototype.dayName = function() {
  const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
  return daysOfWeek[this.getDay()];
}

function realtimeClock() {
  const now = new Date(),
  today = now.dayName(),
  year = now.getFullYear(),
  month = now.monthName(),
  day = now.getDate(),
  secs = ('0' + now.getSeconds()).slice(-2),
  mins = ('0' + now.getMinutes()).slice(-2),
  hours = now.getHours(),
  container = document.querySelector('.clock');

  container.innerHTML = Today is ${today}, ${day} ${month} ${year}. The current time is ${hours}:${mins}:${secs};
  requestAnimationFrame(realtimeClock);
};

requestAnimationFrame(realtimeClock);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;I thought I’d share it because I couldn’t find anything that did the trick quite like this on StackOverflow.&lt;/p&gt;


</description>
      <category>coding</category>
      <category>code</category>
      <category>datetime</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
