<!DOCTYPE html>
<html lang="en">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Adam Tibi on Software Architecture, Best Practices &amp; .NET</title>
    <meta name="description" content="My blog where I share my software experience and what I encounter in different projects">
    
    <!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-7N5QNXEZ8C"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-7N5QNXEZ8C');
</script>
    
    <meta property="og:url" content="https://adamtibi.net/" />
    <meta property="og:title" content="Adam Tibi on Software Architecture, Best Practices &amp; .NET" />
    <meta property="og:image" content="https://adamtibi.net/assets/img/Adam-Tibi@3x.jpg" />
    <meta property="og:description" content="My blog where I share my software experience and what I encounter in different projects" />
 
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:site" content="@AdamTibi" />
    <meta name="twitter:creator" content="@AdamTibi">

    <meta name="author" content="Adam Tibi" />
    <meta name="copyright" content="Copyright by Adam Tibi. All Rights Reserved." />

    <style>
        @font-face {
            font-family: 'Roboto';
            font-style: normal;
            font-weight: 300;
            src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/Hgo13k-tfSpn0qi1SFdUfVtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }

        @font-face {
            font-family: 'Roboto';
            font-style: normal;
            font-weight: 400;
            src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/CWB0XYA8bzo0kSThX0UTuA.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }

        @font-face {
            font-family: 'Roboto';
            font-style: normal;
            font-weight: 700;
            src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/d-6IYplOFocCacKzxwXSOFtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }

        @font-face {
            font-family: 'Roboto';
            font-style: normal;
            font-weight: 900;
            src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/mnpfi9pxYH-Go5UiibESIltXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }

        @font-face {
            font-family: 'Roboto';
            font-style: italic;
            font-weight: 300;
            src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v15/7m8l7TlFO-S3VkhHuR0at44P5ICox8Kq3LLUNMylGO4.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }

        @font-face {
            font-family: 'Roboto';
            font-style: italic;
            font-weight: 400;
            src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/vPcynSL0qHq_6dX7lKVByfesZW2xOQ-xsNqO47m55DA.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }

        @font-face {
            font-family: 'Roboto';
            font-style: italic;
            font-weight: 700;
            src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcC44P5ICox8Kq3LLUNMylGO4.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }

        @font-face {
            font-family: 'Roboto';
            font-style: italic;
            font-weight: 900;
            src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v15/bmC0pGMXrhphrZJmniIZpY4P5ICox8Kq3LLUNMylGO4.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
        }
    </style>
    
    <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    
    <link rel="stylesheet" href="https://adamtibi.net/assets/css/main.css">

    <link rel="canonical" href="https://adamtibi.net/">
    
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
    <link rel="manifest" href="/site.webmanifest">
    <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#1abc9c">
    <meta name="msapplication-TileColor" content="#1abc9c">
    <meta name="theme-color" content="#1abc9c">
    
    <link rel="alternate" type="application/rss+xml" title="Adam Tibi" href="https://adamtibi.net/feed.xml">
    <script>function generateAddress(id, name, domain, content) { window.setTimeout(function () { var container = document.getElementById(id); var theAt = new String(63 + 1);
        var inner = content || (name + "&#" + theAt + ";" + domain);container.innerHTML = "<a href='&#109;&#97;&#105;l&#116;&#111;:" + name + "&#" + theAt + ";" + domain + "'>" + inner + "</a>"; }, 50); }</script>
</head>
    <body>
        <div class="wrapper">
            <aside class="user-profile fixed">
    <div class="burger">
        <input class="trigger hidden" id="toggleBurger" type="checkbox" />
        <label for="toggleBurger">
            <span>Navigation</span>
        </label>
    </div>

    <div class="compact-header">
        <a class="avatar" href="https://adamtibi.net">
            <img alt="Avatar" src="https://adamtibi.net/assets/img/Adam-Tibi.jpg" srcset="https://adamtibi.net/assets/img/Adam-Tibi.jpg, https://adamtibi.net/assets/img/Adam-Tibi@2x.jpg 2x, https://adamtibi.net/assets/img/Adam-Tibi@3x.jpg 3x" />
        </a>
        <div class="my-info">
            <strong class="my-name">Adam Tibi</strong>
            <span class="my-job-title">On Software</span>
        </div>
    </div>

    <nav class="mainmenu">
        <a href="https://adamtibi.net/" class="active">Home</a>
        <a href="/about" >About</a>
    </nav>
   
    <p class="about-me">Lives in London, UK and works in The City</p>


    <ul class="socials">
        <li><a title="GitHub" href="https://github.com/AdamTibi" target="_blank"><svg width="21" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#github-icon"></use></svg></a></li>
        <li><a title="Twitter" href="https://twitter.com/AdamTibi" target="_blank"><svg width="24" height="20"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#twitter-icon"></use></svg></a></li>
        <li><a title="LinkedIn" href="https://www.linkedin.com/in/AdamTibi/" target="_blank"><svg width="21" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#linkedin-icon"></use></svg></a></li>
        <li title="Email" id="adam"></li>
        <li><a title="RSS" href="https://adamtibi.net/feed.xml"><svg width="24" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#rss-icon"></use></svg></a></li>
    </ul>
    <script>generateAddress('adam','&#97;&#100;&#97;&#109;','&#97;&#100;&#97;&#109;&#116;&#105;&#98;&#105;&#46;&#110;&#101;&#116;', '<svg width="24" height="18"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#email-icon"></use></svg>');</script>
</aside>
            <main class="the-content">
                <div class="search" role="search">
    <div>
        <div class="show-results-count">0 Results</div>
        <div class="search-holder">
            <input type="text" id="search-input" placeholder="search for..." />
        </div>
    </div>
    <ul id="results-container" class="results-container"></ul>
</div>


                
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
    <header class="post-header">
        <ul>
            <li><time datetime="2020-10-08T17:44:00+00:00" itemprop="datePublished">8 Oct, 2020</time></li>
            
        </ul>
        <h2 itemprop="name headline"><a href="https://adamtibi.net/10-2020/pragmatic-deep-learning-model-for-forex-forecasting-multi-step-prediction">Pragmatic Deep Learning Model for Forex Forecasting with Multi-Step Prediction</a></h2>
    </header>

    <div class="post-content">
        <figure>
<img src="/assets/artefacts/2020/10/multi-step-prediction.png" srcset="/assets/artefacts/2020/10/multi-step-prediction@4x.png 4x, /assets/artefacts/2020/10/multi-step-prediction@3x.png 3x, /assets/artefacts/2020/10/multi-step-prediction@2x.png 2x, /assets/artefacts/2020/10/multi-step-prediction.png" alt="A graph showing GBPUSD with a multi-step prediction on the price movement" />
</figure>

<p>This is my post on Towards AI on building an LSTM Deep Learning model that can predict the market:</p>

<p><a href="https://medium.com/towards-artificial-intelligence/pragmatic-deep-learning-model-for-forex-forecasting-569aae6d4a1a" target="_blank">Pragmatic Deep Learning Model for Forex Forecasting: Using LSTM and TensorFlow on the GBPUSD Time Series for multi-step prediction</a></p>



        
            <p><a href="https://adamtibi.net/10-2020/pragmatic-deep-learning-model-for-forex-forecasting-multi-step-prediction" role="button">Read More</a></p>
        
    </div>

	<footer class="post-footer">
  <div class="share">
    
    <a class="share-link share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fadamtibi.net%2F10-2020%2Fpragmatic-deep-learning-model-for-forex-forecasting-multi-step-prediction&title=Pragmatic+Deep+Learning+Model+for+Forex+Forecasting+with+Multi-Step+Prediction&summary=Best+practices+and+coding+style+change+with+time%2C+here+are+few+examples+when+this+happens&source=AdamTibi.net" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="21" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#linkedin-icon"></use></svg></a>
    <a class="share-link share-twitter" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fadamtibi.net%2F&url=https%3A%2F%2Fadamtibi.net%2F10-2020%2Fpragmatic-deep-learning-model-for-forex-forecasting-multi-step-prediction&text=Best+practices+and+coding+style+change+with+time%2C+here+are+few+examples+when+this+happens&hashtags=Machine+Learning,LSTM,Forex,Deep+Learning,&via=AdamTibi" rel="noreferrer" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="24" height="20"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#twitter-icon"></use></svg></a>
    
   </div>
  
</footer>
</article>

<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
    <header class="post-header">
        <ul>
            <li><time datetime="2019-07-29T07:44:00+00:00" itemprop="datePublished">29 Jul, 2019</time></li>
            
        </ul>
        <h2 itemprop="name headline"><a href="https://adamtibi.net/07-2019/the-day-when-the-software-industry-makes-its-mind">The day when the software industry makes its mind</a></h2>
    </header>

    <div class="post-content">
        <figure>
<img src="/assets/artefacts/2019/07/confused.png" srcset="/assets/artefacts/2019/07/confused@4x.png 4x, /assets/artefacts/2019/07/confused@3x.png 3x, /assets/artefacts/2019/07/confused@2x.png 2x, /assets/artefacts/2019/07/confused.png" alt="A confused man with multiple directions in front of him" />
</figure>

<p>In year 2000 I started writing code professionally while at uni, before that I was writing code as a hobby. I was fascinated by all the best practices I should follow: I shouldn’t use HTML tables for design; they are horrible, I shouldn’t write JavaScript inside my HTML I should do it obtrusively, I should not do database business logic in my code, I would violate the separation layers and I will mix business logic with database logic etc… Fast forward two decades later, I learned to take everything I hear with a pinch of salt!</p>

<h2 id="the-do-it-dont-do-it-dont-approach">The Do it, Don’t, Do it, Don’t Approach</h2>
<p>They tell you do it; it is good; they tell you not; it isn’t then they change their mind a few years later, then again and again.</p>

<h3 id="writing-server-side-code-in-your-html">Writing server-side code in your HTML</h3>



        
            <p><a href="https://adamtibi.net/07-2019/the-day-when-the-software-industry-makes-its-mind" role="button">Read More</a></p>
        
    </div>

	<footer class="post-footer">
  <div class="share">
    
    <a class="share-link share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fadamtibi.net%2F07-2019%2Fthe-day-when-the-software-industry-makes-its-mind&title=The+day+when+the+software+industry+makes+its+mind&summary=Best+practices+and+coding+style+change+with+time%2C+here+are+few+examples+when+this+happens&source=AdamTibi.net" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="21" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#linkedin-icon"></use></svg></a>
    <a class="share-link share-twitter" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fadamtibi.net%2F&url=https%3A%2F%2Fadamtibi.net%2F07-2019%2Fthe-day-when-the-software-industry-makes-its-mind&text=Best+practices+and+coding+style+change+with+time%2C+here+are+few+examples+when+this+happens&hashtags=CodeProject,Software,Best+Practices,&via=AdamTibi" rel="noreferrer" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="24" height="20"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#twitter-icon"></use></svg></a>
    
   </div>
  
</footer>
</article>

<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
    <header class="post-header">
        <ul>
            <li><time datetime="2014-09-08T19:44:00+00:00" itemprop="datePublished">8 Sep, 2014</time></li>
            
        </ul>
        <h2 itemprop="name headline"><a href="https://adamtibi.net/09-2014/ten-software-keywords-that-make-you-look-smarter">Ten software keywords that make you look smarter</a></h2>
    </header>

    <div class="post-content">
        <figure>
<img src="/assets/artefacts/2014/09/look-smarter.jpg" alt="A guy with a thick eye glasses and nerd look" />
</figure>

<p>They say the coat doesn’t make the man, I say the right quote can make a developer punch above the waistline. In this post, I selected a group of my favourite keywords which make me smile and think “nerd” every time I hear one.</p>



        
            <p><a href="https://adamtibi.net/09-2014/ten-software-keywords-that-make-you-look-smarter" role="button">Read More</a></p>
        
    </div>

	<footer class="post-footer">
  <div class="share">
    
    <a class="share-link share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fadamtibi.net%2F09-2014%2Ften-software-keywords-that-make-you-look-smarter&title=Ten+software+keywords+that+make+you+look+smarter&summary=Ten+software+engineering+terms+that+sound+interesting+and+could+make+an+impact+in+a+technical+discussion&source=AdamTibi.net" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="21" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#linkedin-icon"></use></svg></a>
    <a class="share-link share-twitter" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fadamtibi.net%2F&url=https%3A%2F%2Fadamtibi.net%2F09-2014%2Ften-software-keywords-that-make-you-look-smarter&text=Ten+software+engineering+terms+that+sound+interesting+and+could+make+an+impact+in+a+technical+discussion&hashtags=C%23,CodeProject,Interview,&via=AdamTibi" rel="noreferrer" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="24" height="20"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#twitter-icon"></use></svg></a>
    
   </div>
  
</footer>
</article>

<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
    <header class="post-header">
        <ul>
            <li><time datetime="2013-06-22T02:06:00+00:00" itemprop="datePublished">22 Jun, 2013</time></li>
            
        </ul>
        <h2 itemprop="name headline"><a href="https://adamtibi.net/06-2013/implementing-a-cqrs-based-architecture-with-mvc-and-document-db">Implementing a CQRS architecture with MVC and Document DB</a></h2>
    </header>

    <div class="post-content">
        <figure>
<img src="/assets/artefacts/2013/06/MVC-MongoDB-Ninject-CQRS.png" alt="MVC MongoDB Ninject CQRS" />
</figure>

<p>This is a sample implementation of ASP.NET MVC4, MongoDB and Ninject to act as a starting template if you are going to use these technologies in your project with a CQRS pattern.</p>

<h2 id="audience">Audience</h2>

<p>If most of these terms look unfamiliar then this post is probably not for you: CQRS, Repository, Aggregate (of DDD), NuGet, Unit Testing, Dependency Injection, Document DB. Due to the scope of this post, I won’t be able to go in details in any of these topics as this is a direct implementation.</p>

<p>Greg Young did a few paragraphs intro on CQRS here: <a href="http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/" target="_blank">CQRS, Task Based UIs, Event Sourcing agh</a>, if you want a simple intro I recommend at least reading the first half of Greg’s post (before the Event Sourcing).</p>

<h2 id="scope-and-definition">Scope and Definition</h2>

<p>In this post, I mean the plain-CQRS pattern and not the whole patterns that are associated with CQRS. Plain CQRS opens the door for other patterns such as Event Sourcing and ES is usually associated with CQRS. This is the plain CQRS with no other associated pattern.</p>



        
            <p><a href="https://adamtibi.net/06-2013/implementing-a-cqrs-based-architecture-with-mvc-and-document-db" role="button">Read More</a></p>
        
    </div>

	<footer class="post-footer">
  <div class="share">
    
    <a class="share-link share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fadamtibi.net%2F06-2013%2Fimplementing-a-cqrs-based-architecture-with-mvc-and-document-db&title=Implementing+a+CQRS+architecture+with+MVC+and+Document+DB&summary=A+typical+implementation+of+a+CQRS+pattern+in+ASP.NET+with+Ninject+and+MongoDB&source=AdamTibi.net" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="21" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#linkedin-icon"></use></svg></a>
    <a class="share-link share-twitter" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fadamtibi.net%2F&url=https%3A%2F%2Fadamtibi.net%2F06-2013%2Fimplementing-a-cqrs-based-architecture-with-mvc-and-document-db&text=A+typical+implementation+of+a+CQRS+pattern+in+ASP.NET+with+Ninject+and+MongoDB&hashtags=CodeProject,CQRS,Dependency+Injection,Document+DB,MongoDB,MVC,Ninject,Unit+Test,&via=AdamTibi" rel="noreferrer" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="24" height="20"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#twitter-icon"></use></svg></a>
    
   </div>
  
</footer>
</article>

<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
    <header class="post-header">
        <ul>
            <li><time datetime="2013-06-18T05:56:00+00:00" itemprop="datePublished">18 Jun, 2013</time></li>
            
        </ul>
        <h2 itemprop="name headline"><a href="https://adamtibi.net/06-2013/five-essential-front-end-tools-that-should-be-used-with-modern-mvc-projects">5 Essential Front-End tools you should use with MVC Projects</a></h2>
    </header>

    <div class="post-content">
        <p>Microsoft is doing a good job in shipping standard front-end libraries with Visual Studio 2012 “ASP.NET MVC 4 Web Application” and “ASP.NET Web Forms Application” templates, they are raising the bar for the .NET web developers.</p>

<p>The VS template is a good starting base, however, I have been adding the libraries of this post to every new web project, they act as a completion to the ones shipped with VS and I wanted to share them with you.</p>



        
            <p><a href="https://adamtibi.net/06-2013/five-essential-front-end-tools-that-should-be-used-with-modern-mvc-projects" role="button">Read More</a></p>
        
    </div>

	<footer class="post-footer">
  <div class="share">
    
    <a class="share-link share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fadamtibi.net%2F06-2013%2Ffive-essential-front-end-tools-that-should-be-used-with-modern-mvc-projects&title=5+Essential+Front-End+tools+you+should+use+with+MVC+Projects&summary=5+Productive+tools+for+your+Visual+Studio+web+development&source=AdamTibi.net" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="21" height="24"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#linkedin-icon"></use></svg></a>
    <a class="share-link share-twitter" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fadamtibi.net%2F&url=https%3A%2F%2Fadamtibi.net%2F06-2013%2Ffive-essential-front-end-tools-that-should-be-used-with-modern-mvc-projects&text=5+Productive+tools+for+your+Visual+Studio+web+development&hashtags=ASP.NET,CodeProject,CSS,HTML,JavaScript,jQuery,MVC,Productivity,Visual+Studio,Webforms,&via=AdamTibi" rel="noreferrer" target="_blank" onclick="window.open(this.href, '','width=700,height=300');return false;"><svg width="24" height="20"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://adamtibi.net/assets/svg/social-icons.svg#twitter-icon"></use></svg></a>
    
   </div>
  
</footer>
</article>




<div class="pagination next" role="navigation" aria-label="pagination">
    

    <span class="page_number">Page 1 of 4</span>

    
        <a href="/page2/" class="next">Next &rarr;</a>
    
</div>

            </main>
        </div>
        <script src="https://adamtibi.net/assets/js/jquery-1.12.2.min.js"></script>
<script src="https://adamtibi.net/assets/js/backtotop.js"></script>
<script src="https://adamtibi.net/assets/js/lunr.min.js"></script>
<script src="https://adamtibi.net/assets/js/lunr-feed.js"></script>
<script src="https://adamtibi.net/assets/js/jquery.fitvids.js"></script>
<script src="https://adamtibi.net/assets/js/svg4everybody.min.js"></script>
<script src="https://adamtibi.net/assets/js/scripts.js"></script>
    </body>
</html>