<?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: Wes Todd</title>
    <description>The latest articles on DEV Community by Wes Todd (@wesleytodd).</description>
    <link>https://dev.to/wesleytodd</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%2F85111%2Feb61cd5f-e367-4b65-8afd-c012c2a085d8.jpg</url>
      <title>DEV Community: Wes Todd</title>
      <link>https://dev.to/wesleytodd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wesleytodd"/>
    <language>en</language>
    <item>
      <title>State of Express 2018</title>
      <dc:creator>Wes Todd</dc:creator>
      <pubDate>Mon, 22 Oct 2018 23:26:53 +0000</pubDate>
      <link>https://dev.to/wesleytodd/state-of-express-2018-37oi</link>
      <guid>https://dev.to/wesleytodd/state-of-express-2018-37oi</guid>
      <description>&lt;p&gt;If you are reading this you probably use Express, but it is doubtful you know me.  I started lurking in the Express issue tracker some time around 2014.  The project was already the most popular http framework for Node.js projects, and &lt;a href="https://medium.com/@tjholowaychuk/farewell-node-js-4ba9e7f3e52b"&gt;TJ Holowaychuk had just announced that he was leaving node&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;It was a weird time when &lt;code&gt;3.x&lt;/code&gt; was still getting patches, &lt;code&gt;4.x&lt;/code&gt; was the current major and the &lt;code&gt;5.x&lt;/code&gt; branch was new.  I started by contributing small patches and commenting on issues which I had no particular stake in.  There was a short time after the "a potato" incident and when IMB relinquished control and the project was added as the first (and only?) project in the &lt;a href="https://nodejs.org/en/blog/announcements/foundation-express-news/"&gt;Node Incubator Program&lt;/a&gt; where &lt;a href="https://github.com/dougwilson"&gt;Doug Wilson&lt;/a&gt; setup regular video chats, which I attended all of.&lt;/p&gt;

&lt;p&gt;This is the spot where people might think I will say "And we have come such a long way...". But we haven't, and despite what you might think, &lt;em&gt;this is a good thing&lt;/em&gt;.  The project is still &lt;a href="https://www.npmtrends.com/express-vs-restify-vs-koa-vs-hapi-vs-fastify"&gt;the most popular http framework&lt;/a&gt; even though there are a bunch of other options now.  The &lt;code&gt;3.x&lt;/code&gt; branch is fully dead, but &lt;code&gt;4.x&lt;/code&gt; is still the major with &lt;code&gt;5.x&lt;/code&gt; still on the horizon.&lt;/p&gt;

&lt;p&gt;So why on earth do I think this is a good thing?  Because it means we are stable.  Most of the software projects I work on are being built to solve business goals, not as an academic exercise or art an project.  And most businesses &lt;em&gt;don't care what software you use&lt;/em&gt; if it solves the correct problems.  And clearly Express solves the correct problems.&lt;/p&gt;

&lt;p&gt;Here are a few of the key points which make Express great at what it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplicity: the api is simple and concise, it solves on problem and doesn't go (much) outside its original charter.&lt;/li&gt;
&lt;li&gt;Predictability: when you start a new project, you don't have to worry about re-learning the framework.&lt;/li&gt;
&lt;li&gt;Security: Doug does a killer job with handling security patches. While we do have a group channel for discussion them, it is really all Doug.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, what is up next?  Express &lt;a href="https://github.com/expressjs/express/pull/2237"&gt;&lt;code&gt;5.0&lt;/code&gt; is in process&lt;/a&gt;, and TBQH, could be moving forward more quickly.  But, the changes which make it a major version are really not all that influential for most people, so don't get hung up on it.  The rest I plan on covering in an "Express 2019" post, so stay tuned.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>express</category>
    </item>
    <item>
      <title>On KISSing</title>
      <dc:creator>Wes Todd</dc:creator>
      <pubDate>Tue, 24 Jul 2018 23:15:45 +0000</pubDate>
      <link>https://dev.to/wesleytodd/on-kissing-24ml</link>
      <guid>https://dev.to/wesleytodd/on-kissing-24ml</guid>
      <description>&lt;p&gt;Usually I consider myself good at learning from my mistakes, but one particular mistake has taken me a long time to learn. What is the mistake?  &lt;strong&gt;That adding a little complexity will result in a better and more maintainable system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The complexity usually comes in very innocently; a little library, a custom select UI, an ORM.  Or it can come in less innocently; a build tool (rip Grunt).  When I first add it, I feel great about it.  It solved my problem and made me feel like my co-workers should applaud the elegant thing I did.  And time passes with it doing its job (hopefully well).&lt;/p&gt;

&lt;p&gt;Slowly the landscape changes, more depends on the little spot of complexity I added, then one day some clouds roll in.  A feature is needed or a bug is found, and it comes time to do the dreaded deed, maintain my old code.  &lt;/p&gt;

&lt;p&gt;This is when I &lt;strong&gt;always&lt;/strong&gt; regret my silly added complexity.  &lt;/p&gt;

&lt;p&gt;Remembering why you made decisions is hard.  Figuring out why someone else did it that way is even worse.  If I have learned one thing in my career, it is to plan on things changing; team members will come and go, as will technologies.  Just about the only thing you can do to help reduce the impact of these changes is to Keep It Simply Silly.&lt;/p&gt;

</description>
      <category>career</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
