- 扫描 ID:
- 2d683d00-7718-4b00-80de-d1585d0bf9f1已完成
- 提交的 URL:
- https://durableprogramming.com/
- 报告完成时间:
链接 · 找到 5 个
从页面中识别出的传出链接
链接 | 文本 |
---|---|
https://www.designrush.com/agency/software-development/trends | |
https://github.com/durableprogramming/ | |
https://x.com/durableprogram | |
https://www.linkedin.com/company/durable-programming-llc | |
https://piniondesigns.com | Pinion Designs |
JavaScript 变量 · 找到 17 个
在页面窗口对象上加载的全局 JavaScript 变量是在函数外部声明的变量,可以从当前范围内的代码中的任何位置访问
名称 | 类型 |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
__cfQR | object |
__cfBeacon | object |
dataLayer | object |
google_tag_manager | object |
google_tag_data | object |
_linkedin_data_partner_id | string |
clarity | function |
控制台日志消息 · 找到 0 条
记录到 Web 控制台的消息
HTML
页面的原始 HTML 正文
<!DOCTYPE html><html lang="en"><head>
<meta name="generator" content="Hugo 0.134.2">
<script async="" src="https://www.clarity.ms/s/0.7.53/clarity.js"></script><script async="" src="https://www.clarity.ms/tag/o0kl6b0jyb?ref=gtm2"></script><script async="" src="https://www.clarity.ms/tag/o0kl6b0jyb"></script><script type="text/javascript" async="" src="https://snap.licdn.com/li.lms-analytics/insight.min.js"></script><script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-K93LXXS"></script><script type="text/javascript">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-K93LXXS');</script>
<link rel="canonical" href="https://durableprogramming.com/" itemprop="url">
<link rel="preload" media="(min-width 0px)" href="/images/gears-hires-576w.webp.webp" as="image">
<link rel="preload" media="(min-width 576px)" href="/images/gears-hires-768w.webp.webp" as="image">
<link rel="preload" media="(min-width 768px)" href="/images/gears-hires-992w.webp.webp" as="image">
<link rel="preload" media="(min-width 992px)" href="/images/gears-hires-1200w.webp.webp" as="image">
<link rel="preload" media="(min-width 1200px)" href="/images/gears-hires-1440w.webp.webp" as="image">
<link rel="preload" media="(min-width 1440px)" href="/images/gears-hires-2048w.webp.webp" as="image">
<link rel="preload" media="(min-width 2048px)" href="/images/gears-hires-2560w.webp.webp" as="image">
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Durable Programming: Programming in Rails, PHP, and more</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Durable Programming: Legacy Systems Specialists. Rails, PHP, and more.">
<meta property="og:title" content="Durable Programming">
<meta property="og:type" content="website">
<meta property="og:url" content="https://durableprogramming.com">
<meta property="og:description" content="">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@piniondesigns">
<meta name="twitter:creator" content="@piniondesigns">
<link rel="icon" href="https://durableprogramming.com/favicon.png">
<link rel="stylesheet" href="/css/style.min.003fd98f75d08f288e19107d8b994c6a28c574b4b133d5837916b042ae785df7.css">
</head>
<body class="page page-home" data-barba="wrapper">
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K93LXXS"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<div id="main-menu-mobile" class="main-menu-mobile">
<h2>Site Menu</h2>
<ul>
<h3>Content:</h3>
<li class="d-flex menu-item-services">
<a href="/services/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M.96,26.6v28.11c0,3.23,2.62,5.85,5.85,5.85h50.37c3.23,0,5.85-2.62,5.85-5.85V17.88c0-3.23-2.62-5.85-5.85-5.85h-12.09v-2.73c0-3.23-2.62-5.85-5.85-5.85h-14.5c-3.23,0-5.85,2.62-5.85,5.85v2.73H6.81c-3.23,0-5.85,2.62-5.85,5.85v8.63s0,.02,0,.03c0,.02,0,.04,0,.06ZM22.6,9.29c0-1.19.96-2.15,2.15-2.15h14.5c1.19,0,2.15.96,2.15,2.15v2.73h-18.8v-2.73ZM6.81,15.73h50.37c1.19,0,2.15.96,2.15,2.15v36.83c0,1.19-.96,2.15-2.15,2.15H6.81c-1.19,0-2.15-.96-2.15-2.15v-21.13c1.41,1.23,3.21,2.36,5.38,3.35,5.8,2.66,13.6,4.13,21.96,4.13s16.16-1.47,21.96-4.13c.93-.43,1.34-1.52.91-2.45s-1.52-1.34-2.45-.91c-5.25,2.41-12.7,3.79-20.42,3.79s-15.17-1.38-20.42-3.79c-4.37-2-6.89-4.54-6.92-6.98v-8.71c0-1.19.96-2.15,2.15-2.15Z"></path>
<path class="cls-1" d="M27.67,31.06h8.67c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-8.67c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
</svg>
</span>
<span>Services</span>
</a>
</li>
<li class="d-flex menu-item-technologies">
<a href="/technologies/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M27.22,24.65c-.73-.72-1.9-.72-2.62,0-.72.73-.72,1.9,0,2.62l12.18,12.08c.36.36.83.54,1.3.54s.95-.18,1.31-.55c.72-.73.72-1.9-.01-2.62l-12.18-12.08Z"></path>
<path class="cls-1" d="M61.19,21.73c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-7.95v-1.42c0-3.23-2.62-5.85-5.85-5.85h-1.42V2.81c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v7.95h-8.42V2.81c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v7.95h-8.42V2.81c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v7.95h-1.42c-3.23,0-5.85,2.62-5.85,5.85v1.42H2.81c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h7.95v8.42H2.81c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h7.95v8.42H2.81c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h7.95v1.42c0,3.23,2.62,5.85,5.85,5.85h1.42v7.95c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-7.95h8.42v7.95c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-7.95h8.42v7.95c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-7.95h1.42c3.23,0,5.85-2.62,5.85-5.85v-1.42h7.95c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-7.95v-8.42h7.95c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-7.95v-8.42h7.95ZM49.54,47.39c0,1.19-.96,2.15-2.15,2.15h-30.78c-1.19,0-2.15-.96-2.15-2.15v-30.78c0-1.19.96-2.15,2.15-2.15h30.78c1.19,0,2.15.96,2.15,2.15v30.78Z"></path>
</svg>
</span>
<span>Technologies</span>
</a>
</li>
<li class="d-flex menu-item-blog">
<a href="/blog/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M57.19,0.96H6.81C3.58,0.96,0.96,3.58,0.96,6.81v50.38c0,3.23,2.62,5.85,5.85,5.85h50.38c3.23,0,5.85-2.62,5.85-5.85V6.81C63.04,3.58,60.42,0.96,57.19,0.96ZM59.34,57.19c0,1.19-0.96,2.15-2.15,2.15H6.81c-1.19,0-2.15-0.96-2.15-2.15V6.81c0-1.19,0.96-2.15,2.15-2.15h50.38c1.19,0,2.15,0.96,2.15,2.15V57.19Z"></path>
<path class="cls-1" d="M48.52,14.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h33.04c1.02,0,1.85-0.83,1.85-1.85S49.54,14.67,48.52,14.67Z"></path>
<path class="cls-1" d="M48.52,25.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h33.04c1.02,0,1.85-0.83,1.85-1.85S49.54,25.67,48.52,25.67Z"></path>
<path class="cls-1" d="M48.52,36.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h33.04c1.02,0,1.85-0.83,1.85-1.85S49.54,36.67,48.52,36.67Z"></path>
<path class="cls-1" d="M33.78,47.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h18.3c1.02,0,1.85-0.83,1.85-1.85S34.8,47.67,33.78,47.67Z"></path>
</svg>
</span>
<span>Blog</span>
</a>
</li>
<li class="d-flex menu-item-about">
<a href="/about/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M32,63.04c17.11,0,31.04-13.92,31.04-31.04S49.11.96,32,.96.96,14.89.96,32s13.92,31.04,31.04,31.04ZM32,4.66c15.07,0,27.34,12.26,27.34,27.34s-12.26,27.34-27.34,27.34S4.66,47.07,4.66,32,16.93,4.66,32,4.66Z"></path>
<path class="cls-1" d="M32,21.63c1.02,0,1.85-.83,1.85-1.85v-2.78c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v2.78c0,1.02.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M32,47.85c1.02,0,1.85-.83,1.85-1.85v-15.66c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v15.66c0,1.02.83,1.85,1.85,1.85Z"></path>
</svg>
</span>
<span>About</span>
</a>
</li>
<h3>Contact Us:</h3>
<li class="mt-2">
<a href="https://schedule.durableprogramming.com/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M15.98,54.39s.04,0,.06,0c3.73.03,6.75,3.07,6.75,6.8,0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85c0-3.89-2.13-7.29-5.28-9.1,1.17-1.27,1.89-2.96,1.89-4.82,0-3.92-3.19-7.12-7.12-7.12s-7.12,3.19-7.12,7.12c0,1.86.72,3.55,1.89,4.82-3.15,1.82-5.28,5.21-5.28,9.1,0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85c0-3.73,3.02-6.77,6.75-6.8.02,0,.04,0,.06,0ZM12.56,47.27c0-1.88,1.53-3.42,3.42-3.42s3.42,1.53,3.42,3.42-1.51,3.39-3.38,3.41c-.01,0-.03,0-.04,0s-.03,0-.04,0c-1.87-.02-3.38-1.54-3.38-3.41Z"></path>
<path class="cls-1" d="M9.39,35.1h31.27c1.02,0,1.85-.83,1.85-1.85v-2.65c0-3.88-2.12-7.27-5.25-9.09,1.15-1.27,1.86-2.94,1.86-4.78,0-3.92-3.19-7.12-7.12-7.12s-7.12,3.19-7.12,7.12c0,1.84.71,3.52,1.86,4.78-3.14,1.82-5.25,5.21-5.25,9.09v.8h-12.1c-.63,0-1.15-.52-1.15-1.15V5.81c0-.63.52-1.15,1.15-1.15h45.22c.63,0,1.15.52,1.15,1.15v24.44c0,.63-.52,1.15-1.15,1.15h-6.11c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h6.11c2.67,0,4.85-2.18,4.85-4.85V5.81c0-2.67-2.18-4.85-4.85-4.85H9.39c-2.67,0-4.85,2.18-4.85,4.85v24.44c0,2.67,2.18,4.85,4.85,4.85ZM28.58,16.73c0-1.88,1.53-3.42,3.42-3.42s3.42,1.53,3.42,3.42c0,1.76-1.34,3.19-3.05,3.38-.12,0-.24-.02-.37-.02s-.24.01-.37.02c-1.71-.19-3.05-1.62-3.05-3.38ZM25.19,30.6c0-3.57,2.76-6.5,6.26-6.78.18.01.36.03.55.03s.37-.01.55-.03c3.5.28,6.26,3.21,6.26,6.78v.8h-13.62v-.8Z"></path>
<path class="cls-1" d="M56.68,63.04c1.02,0,1.85-.83,1.85-1.85,0-3.89-2.13-7.29-5.28-9.1,1.17-1.27,1.89-2.96,1.89-4.82,0-3.92-3.19-7.12-7.12-7.12s-7.12,3.19-7.12,7.12c0,1.86.72,3.55,1.89,4.82-3.15,1.82-5.28,5.21-5.28,9.1,0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85c0-3.73,3.02-6.77,6.75-6.8.02,0,.04,0,.06,0s.04,0,.06,0c3.73.03,6.75,3.07,6.75,6.8,0,1.02.83,1.85,1.85,1.85ZM44.6,47.27c0-1.88,1.53-3.42,3.42-3.42s3.42,1.53,3.42,3.42-1.51,3.39-3.38,3.41c-.01,0-.03,0-.04,0s-.03,0-.04,0c-1.87-.02-3.38-1.54-3.38-3.41Z"></path>
</svg>
</span>
Schedule a Meeting
</a>
</li>
<li class="">
<a href="tel:+16173568239">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M16.78,47.21c4.41,4.41,9.35,7.99,14.7,10.65,6.83,3.41,14.09,5.18,21.01,5.18,2.21,0,4.39-.18,6.51-.55,2.34-.4,4.03-2.43,4.03-4.82v-10.78c0-2.28-1.55-4.24-3.77-4.76l-12.97-3.04c-1.9-.45-3.88.28-5.04,1.86l-3.77,5.11c-4.12-2.07-7.93-4.83-11.32-8.23s-6.15-7.19-8.22-11.32l5.11-3.77c1.57-1.16,2.3-3.14,1.86-5.04l-3.04-12.97c-.52-2.22-2.48-3.77-4.76-3.77H6.33C3.94.96,1.92,2.66,1.51,4.99,0,13.73,1.65,23.51,6.14,32.51c2.66,5.35,6.24,10.3,10.64,14.7ZM5.16,5.62c.09-.55.6-.96,1.17-.96h10.78c.55,0,1.03.38,1.15.92l3.04,12.97c.11.46-.07.94-.45,1.22l-6.35,4.68c-.7.52-.95,1.46-.58,2.26,2.31,5.05,5.54,9.67,9.62,13.74s8.7,7.32,13.75,9.62c.8.37,1.74.12,2.26-.58l4.68-6.35c.28-.38.76-.56,1.22-.45l12.97,3.04c.54.13.92.6.92,1.15v10.78c0,.57-.41,1.08-.96,1.17-7.97,1.38-16.93-.15-25.24-4.3-4.99-2.48-9.62-5.83-13.74-9.95s-7.46-8.74-9.95-13.73C5.31,22.55,3.78,13.59,5.16,5.62Z"></path>
</svg>
Call Us
</a>
</li>
<li class="">
<a href="mailto:[email protected]">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M52,.96H12c-1.57,0-2.85,1.28-2.85,2.85v12.23l-6.48,6.48c-1.1,1.11-1.71,2.57-1.71,4.14v30.53c0,1.66.7,3.15,1.81,4.22.07.08.15.15.23.21,1.02.88,2.35,1.42,3.81,1.42h50.38c1.47,0,2.81-.55,3.83-1.44.08-.06.16-.13.23-.21,1.1-1.06,1.78-2.55,1.78-4.2v-30.53c0-1.56-.61-3.03-1.71-4.14l-6.48-6.48V3.81c0-1.57-1.28-2.85-2.85-2.85ZM51.15,4.66v26.21l-6.81,5.6c-.79.65-.9,1.82-.25,2.6.37.44.9.67,1.43.67.41,0,.83-.14,1.17-.42l12.64-10.41v28.27s0,.03,0,.05l-26.14-21.52c-.68-.56-1.67-.56-2.35,0l-6.04,4.97-11.95-9.83V4.66h38.3ZM4.66,57.19v-28.27l17.23,14.17-17.22,14.17s0-.05,0-.07ZM32.02,39.55l24.04,19.79H7.96l24.06-19.79ZM9.15,27.82l-3.59-2.95,3.59-3.59v6.54ZM58.44,24.87l-3.59,2.96v-6.54l3.59,3.59Z"></path>
<path class="cls-1" d="M19.83,16.7h24.33c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-24.33c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M19.83,24.77h12.42c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-12.42c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
</svg>
Email Us
</a>
</li>
<li class="">
<a href="/contact">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M6.81,56.67h50.38c3.23,0,5.85-2.62,5.85-5.85V13.18c0-3.23-2.62-5.85-5.85-5.85H6.81c-3.23,0-5.85,2.62-5.85,5.85v37.65c0,3.23,2.62,5.85,5.85,5.85ZM4.66,13.18c0-1.19.96-2.15,2.15-2.15h50.38c1.19,0,2.15.96,2.15,2.15v37.65c0,1.19-.96,2.15-2.15,2.15H6.81c-1.19,0-2.15-.96-2.15-2.15V13.18Z"></path>
<path class="cls-1" d="M12.22,42.94c1.02,0,1.85-.83,1.85-1.85v-1.92c0-3.28,2.66-5.95,5.93-5.98.02,0,.04,0,.05,0s.04,0,.05,0c3.27.03,5.93,2.7,5.93,5.98v1.92c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-1.92c0-3.47-1.84-6.52-4.6-8.23,1.13-1.23,1.82-2.86,1.82-4.66,0-3.81-3.1-6.91-6.91-6.91s-6.91,3.1-6.91,6.91c0,1.8.7,3.43,1.82,4.66-2.75,1.71-4.6,4.75-4.6,8.23v1.92c0,1.02.83,1.85,1.85,1.85ZM16.85,26.29c0-1.77,1.44-3.21,3.21-3.21s3.21,1.44,3.21,3.21-1.42,3.18-3.17,3.2c-.01,0-.02,0-.04,0s-.02,0-.04,0c-1.75-.02-3.17-1.45-3.17-3.2Z"></path>
<path class="cls-1" d="M37.44,23.79h13.44c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-13.44c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M37.44,33.01h13.44c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-13.44c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M37.44,42.23h6.72c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-6.72c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
</svg>
Contact Form
</a>
</li>
</ul>
</div>
<div class="header" style="transform: scale(var(--motion-scale));">
<div class="container">
<div class="logo">
<a href="https://durableprogramming.com/">
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" class="icons/logo.svg-icon" viewBox="0 15 336 104" style="transform: scale(var(--motion-scale));">
<g clip-path="url(#a)" transform="matrix(1.3333 0 0 -1.3333 0 128.4)">
<path class="hide-on-hover" fill="#111d44" d="M85.239 34.072V23.943h2.437c.407 0 .474.142.474.533v9.098c0 .32-.101.498-.44.498zm4.773 4.514c1.93 0 2.912-1.244 2.912-3.128V23.126c0-1.955-.745-3.448-3.487-3.448h-4.198v-6.859h-4.875v25.767zm9.75-4.514v-8.885h2.404c.372 0 .473.142.473.533v7.819c0 .32-.135.533-.473.533zm7.718-10.769c0-1.137-.778-2.274-2.2-2.274l2.573-8.21h-5.078l-2.37 8.21h-.643v-8.21h-4.908v25.767h9.309c2.302 0 3.317-1.316 3.317-3.341zm7.48 10.769c-.339 0-.44-.178-.44-.498V17.866c0-.391.068-.534.474-.534h1.862c.406 0 .474.143.474.534v15.708c0 .32-.102.498-.44.498zm7.346-17.592c0-1.955-.779-3.661-3.521-3.661h-5.687c-2.742 0-3.521 1.706-3.521 3.661v18.765c0 2.025 1.016 3.341 3.318 3.341h6.093c2.302 0 3.318-1.316 3.318-3.341zm2.034 18.978c0 1.884.982 3.128 2.911 3.128h7.008l.846-4.798h-5.382c-.339 0-.441-.178-.441-.498V18.008c0-.32.102-.498.441-.498h2.234v10.165h4.773V12.819h-8.565c-2.809 0-3.825 1.137-3.825 3.981zm19.23-1.386v-8.885h2.404c.372 0 .473.142.473.533v7.819c0 .32-.135.533-.473.533zm7.719-10.769c0-1.137-.779-2.274-2.201-2.274l2.573-8.21h-5.078l-2.37 8.21h-.643v-8.21h-4.908v25.767h9.309c2.302 0 3.318-1.316 3.318-3.341zm7.111-3.199h2.268l-1.117 9.134zm-.542-4.087-.44-3.199h-4.942l4.435 25.767h5.247l4.434-25.767h-4.942l-.44 3.199zm14.862 8.957V12.819h-4.773v25.767h5.179l2.675-10.876 2.674 10.876h5.213V12.819h-4.773v12.155l-3.114-10.307zm17.77 0V12.819h-4.773v25.767h5.179l2.675-10.876 2.674 10.876h5.213V12.819h-4.773v12.155l-3.114-10.307zm13 13.611h4.908V12.818h-4.908zm6.94 0h4.672l2.505-10.342v10.342h5.044V12.818h-5.044l-2.641 10.769V12.818h-4.536zm14.25-3.127c0 1.884.982 3.128 2.911 3.128h7.008l.846-4.798h-5.382c-.339 0-.441-.178-.441-.498V18.008c0-.32.102-.498.441-.498h2.234v10.165h4.773V12.819h-8.565c-2.809 0-3.825 1.137-3.825 3.981z"></path>
<path class="hide-on-hover" fill="#d58428" d="M88.387 76.404v-26.24h3.789c.668 0 .779.223.779.836v24.624c0 .501-.167.78-.724.78zm12.591-27.075c0-4.457-1.672-6.24-6.296-6.24H80.365v40.39h15.822c3.175 0 4.791-1.95 4.791-4.902zm9.632-6.24c-4.624 0-6.295 1.783-6.295 6.24v34.15h8.245V51.055c0-.612.111-.891.78-.891h2.841c.669 0 .78.279.78.891v32.424h8.245v-34.15c0-4.457-1.671-6.24-6.295-6.24zm26.02 33.315V62.476h3.956c.612 0 .779.223.779.836v12.256c0 .502-.222.836-.779.836zm12.702-16.88c0-1.783-1.281-3.566-3.621-3.566l4.234-12.869h-8.357l-3.9 12.869h-1.058V43.089h-8.078v40.39h15.32c3.789 0 5.46-2.061 5.46-5.237zm12.078-5.014h3.733l-1.839 14.318zm-.891-6.407-.725-5.014h-8.133l7.298 40.391h8.635l7.298-40.391h-8.134l-.724 5.014zm29.151 10.418c0 .891-.501 1.17-1.225 1.17h-3.678v-9.527h4.067c.669 0 .836.223.836.836zm-4.903 17.883V65.819h3.789c.557 0 1.003.334 1.003 1.059v8.746c0 .502-.167.78-.725.78zm12.535-8.914c0-2.005-.668-3.565-2.785-4.122 2.228-.112 3.175-1.783 3.175-3.565V49.329c0-4.457-1.671-6.24-6.295-6.24h-14.652v40.39h15.766c3.176 0 4.791-1.95 4.791-4.902zm3.728 15.99h8.301V50.61h8.134l-1.393-7.52H201.03zm18.94 0h15.71l1.393-7.521h-8.802v-9.582h6.685v-6.964h-6.685V50.61h8.468l-1.393-7.52H219.97z"></path>
<path fill="#111d44" d="m51.622 83.479-.506-2.953-.712-4.085-.446-2.627q-.794.178-1.603.292a.2.2 0 0 1-.016.097c-.151.285-.306.587-.471.861l-.511.816a36 36 0 0 1-1.123 1.64.2.2 0 0 1-.143.078l-.657.05c-.219.013-.439-.002-.659-.002l-1.318-.025c-.438-.021-.88.007-1.315-.058l-1.309-.152a.2.2 0 0 1-.138-.084c-.359-.569-.7-1.105-1.01-1.694a36 36 0 0 1-.86-1.768c-.011-.024-.008-.05-.007-.076a26 26 0 0 1-2.158-.556 27 27 0 0 1-2.444-.901c-.014.017-.023.037-.043.048a36 36 0 0 1-1.723.939c-.599.313-1.183.542-1.806.801a.19.19 0 0 1-.16-.012c-.769-.423-1.55-.825-2.26-1.344-.716-.508-1.479-.952-2.134-1.54a.2.2 0 0 1-.071-.146q-.013-1.014.028-1.986l.054-.961c.032-.327.072-.656.115-.978.004-.029.02-.052.036-.075a26 26 0 0 1-3.152-3.639.2.2 0 0 1-.091.028 36 36 0 0 1-3.93-.354.18.18 0 0 1-.127-.096l-1.223-2.334c-.362-.798-.668-1.621-.998-2.433a.18.18 0 0 1 .008-.159c.312-.568.698-1.138 1.07-1.679q.563-.815 1.145-1.565a.16.16 0 0 1 .076-.05 26 26 0 0 1-.786-4.743.17.17 0 0 1-.101-.026 35 35 0 0 1-1.598-1.105l-.799-.604c-.258-.206-.504-.419-.756-.637a.19.19 0 0 1-.063-.149l.046-1.317c.008-.439.084-.874.125-1.311l.154-1.309.248-1.293a.19.19 0 0 1 .094-.131c1.147-.641 2.404-1.163 3.585-1.611a.18.18 0 0 1 .114-.002c.018-.06.032-.121.051-.181a26 26 0 0 1 1.753-4.268.17.17 0 0 1-.096-.083 34 34 0 0 1-.788-1.776l-.369-.931-.312-.937a.19.19 0 0 1 .023-.159l.722-1.101c.244-.364.527-.702.79-1.053.271-.345.529-.701.813-1.035l.882-.979a.2.2 0 0 1 .148-.063c1.309.045 2.664.261 3.9.487.065.012.109.064.129.126a26 26 0 0 1 1.917-1.553l1.283 7.402.468 2.708a18 18 0 0 0-1.768 2.687 18.5 18.5 0 0 0-1.087 2.475 17.7 17.7 0 0 0-.968 5.117 19 19 0 0 0 .098 2.692 17.8 17.8 0 0 0 1.338 5.026q.555 1.258 1.267 2.393a17.3 17.3 0 0 0 3.393 3.943 18 18 0 0 0 2.171 1.604c.016.006.027.022.048.028a16.6 16.6 0 0 0 2.382 1.245c.751.332 1.523.598 2.323.816.881.239 1.778.413 2.654.511.87.087 1.746.125 2.611.087q.244-.006.505-.022c.272-.016.544-.038.8-.076q.66-.072 1.289-.185c.277-.049.549-.103.821-.174a16 16 0 0 0 1.795-.522 17.8 17.8 0 0 0 4.595-2.426 19 19 0 0 0 1.55-1.283l.425 2.453 1.218 7.037.446 2.578.391 2.225.376 2.208 1.017 5.879z"></path>
<path fill="#d58428" d="M70.635 46.608c1.102.7 2.073 1.494 3.089 2.377a.2.2 0 0 1 .065.15 30 30 0 0 1-.638 5.261.2.2 0 0 1-.093.132c-1.179.624-2.428 1.139-3.602 1.579h-.003a26 26 0 0 1-1.926 4.513c.006.009.017.013.022.024a34 34 0 0 1 1.385 3.681.18.18 0 0 1-.03.157c-.52.714-1.005 1.456-1.564 2.14-.581.664-1.127 1.363-1.747 1.991a.2.2 0 0 1-.154.057 37 37 0 0 1-1.982-.212 19 19 0 0 1-1.911-.334c-.021-.004-.035-.02-.053-.031-.48.41-.971.807-1.479 1.181l-.006-.033-1.289-7.408-.462-2.703a17.5 17.5 0 0 0 1.762-2.697c.419-.783.789-1.615 1.088-2.469.571-1.643.892-3.361.968-5.118.022-.588.016-1.213-.027-1.849-.011-.283-.044-.571-.071-.843a17.5 17.5 0 0 0-1.344-5.026 19 19 0 0 0-1.25-2.393 18 18 0 0 0-5.575-5.553c-.022-.005-.027-.021-.049-.027a17 17 0 0 0-2.382-1.245 17 17 0 0 0-2.328-.811 17 17 0 0 0-2.654-.505c-.87-.093-1.74-.125-2.6-.093q-.254.015-.516.022c-.267.022-.539.043-.8.071-.44.049-.87.108-1.289.196a11 11 0 0 0-.816.173l.365 2.111 5.281 30.511q-.296.025-.582.043l-.457.033c-.756.016-1.528 0-2.295-.087s-1.55-.234-2.322-.446a15 15 0 0 1-3.329-1.344l-4.155-24-.446-2.589-.43-2.458-1.212-7.027-.446-2.584-.387-2.229-.38-2.203-1.099-5.874h8.702l.566 2.942.44 2.578.267 1.507v.011l.446 2.621c.478-.106.966-.193 1.457-.269.583-1.116 1.26-2.134 2.016-3.197a.2.2 0 0 1 .143-.079c.439-.051.881-.045 1.322-.05l1.325-.01c.882.032 1.764.106 2.644.18a.2.2 0 0 1 .139.088q.55.859 1.031 1.71c.299.528.577 1.048.831 1.602a26 26 0 0 1 2.384.607 26 26 0 0 1 2.493.915c1.084-.643 2.208-1.173 3.412-1.668a.2.2 0 0 1 .163.009c.196.102.397.197.589.307l.567.345 1.131.696c.741.484 1.439 1.031 2.156 1.55a.2.2 0 0 1 .071.148c.006 1.338-.027 2.589-.18 3.842a26 26 0 0 1 3.305 3.84q.903.03 1.84.111c.65.067 1.29.166 1.953.278a.2.2 0 0 1 .131.094c.217.384.454.756.651 1.15l.568 1.196c.185.401.382.796.554 1.203l.457 1.244a.19.19 0 0 1-.012.162c-.341.58-.664 1.13-1.044 1.675q-.555.787-1.128 1.514c.215.846.395 1.706.526 2.584.116.774.193 1.559.239 2.352"></path>
</g>
</svg>
</a>
</div>
<div id="main-menu" class="main-menu">
<ul>
<li class="menu-item-services">
<a href="/services/">
<span>Services</span>
</a>
</li>
<li class="menu-item-technologies">
<a href="/technologies/">
<span>Technologies</span>
</a>
</li>
<li class="menu-item-blog">
<a href="/blog/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-about">
<a href="/about/">
<span>About</span>
</a>
</li>
<li class="menu-item-contact">
<a href="/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<button id="toggle-main-menu-mobile" class="hamburger hamburger--slider" type="button" aria-label="Toggle Menu">
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
</div>
</div>
<div id="wrapper" class="wrapper">
<div class="barba" data-barba="container" data-barba-namespace="Durable Programming">
<div class="hero-image hero-image-fullscreen relative d-flex align-items-center fulltint" style="max-width: 100vw; overflow: hidden;">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/gears-hires-576w.webp 576w, /images/gears-hires-768w.webp 768w, /images/gears-hires-992w.webp 992w, /images/gears-hires-1200w.webp 1200w, /images/gears-hires-2560w.webp 4096w, /images/gears-hires-2560w.jpg ">
<source srcset="/images/gears-hires-576w.jpg 576w, /images/gears-hires-768w.jpg 768w, /images/gears-hires-992w.jpg 992w, /images/gears-hires-1200w.jpg 1200w, /images/gears-hires-2560w.jpg 4096w ">
<img class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #2d3033; z-index: -1;" width="2560" height="1625" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APkdIz6VaSInHFNRBVpFAxWpBGLcL2xShM96suwFRUAWIIAwyec1pRxbc81TtpFVcHrVn7StK4Fhm2iqN5KGGcUk1wdvWqcshcUwKN2u446VW8j3q84zikWPd3pXAqiHHepVtw3U1Y8tfSpooxuwBimAkNnlBkYqdYAD1/Sp1XjFRltrEelAEsMG8dcY9q1YLIlckZz29KqWZX5c9M81u24DKcUEyPOw+O1KszetUlk3dqlVqCi4JWPepFaqitU8bdakC0jkVMsntVTdTTNt9qBMvk5qtIMNioftXuakEgbpTQxrUwHFOZqrE4pAWwc1JG4Dc1TD47UguOfvGgDaRgw4pjLzn1qtbXHTnNTNIG6UAWLWTa2K3bGfpWDa/erVgkwBjtQSeext1qwtUY261cVqCiTdTkcjOOKZSgZoAsiXPamydqaiZzzTyme9AEBOKmVqaIi3SniMr1oAdTGak3VG5xigAZqgDc04nNMIxQBat5SDVxZDznmstWqdZD35oEzUjudnPerkN771z5nI6D9adHdlT6VQjGj71ci71Tj71ci71JRYWrC1XWrC0ASUjUtI1NgSR96JO1EfeiTtQwKknaopO1Sydqik7UIBlI1LSNTEhi1MtQrUy0kDGNUFTtUFIZ//2Q==">
</picture>
<div class="swiper py-4 swiper-initialized swiper-horizontal swiper-backface-hidden" style="z-index:1000;">
<div class="swiper-wrapper" id="swiper-wrapper-6b6bd7afa865848b" aria-live="polite">
<div class="swiper-slide swiper-slide-active" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="1 / 4" data-swiper-slide-index="0">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1">Durable Software Maintenance:<br>Achieve <span>business goals</span> faster.</h1>
<div class="d-flex mt-4 justify-content-start flex-column m-4">
<p class="dfi-lg-2 mb-4 text-center" style="">Software is hard.<wbr> Working with us is easy.</p>
<div class="d-flex flex-column align-items-stretch gap-1">
<a class="btn btn-primary btn-cta d-block" style="width: calc(max-content + 6rem);" href="/services/maintenance/scheduled_maintenance_programming/" role="button">
Solve problems.<span style="flex-grow: 0"></span></a>
</div>
</div>
</div>
</div>
<div class="swiper-slide swiper-slide-next" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="2 / 4" data-swiper-slide-index="1">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1"><span>Drive Revenue Growth</span> and <span>Increase Customer Retention</span>.</h1>
<div class="d-flex mt-4 justify-content-start flex-column m-4">
<p class="dfi-lg-2 mb-4 text-center" style="">Upgrade your software stack <br>to support revenue growth,<br> convert more website visitors, <br> and supercharge your software ROI.</p>
<div class="d-flex flex-column align-items-stretch gap-1">
<a class="btn btn-primary btn-cta d-block" style="width: calc(max-content + 6rem);" href="/services/new_projects/frontend/" role="button">
Create new solutions.<span style="flex-grow: 0"></span></a>
</div>
</div>
</div>
</div>
<div class="swiper-slide" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="3 / 4" data-swiper-slide-index="2">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1">Escape the <wbr><span>Vicious Cycle</span>.</h1>
<p class="dfi-lg-2 mt-4 align-items-start" style="">What is tech debt?<br>
Why does it accumulate?<br>
What can be done?</p>
<a class="btn btn-primary btn-cta" href="/vicious-cycle" role="button">
<span style="flex-grow: 0">Find Out.</span></a>
</div>
</div>
<div class="swiper-slide" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="4 / 4" data-swiper-slide-index="3">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1"><span>Ruby on Rails</span> Upgrades<br> <span>Without</span> the <span>Hassle</span>.</h1>
<p class="dfi-lg-2 mt-4" style="">Don't fall behind.<br>
We can quickly jump in <br>and start upgrading your app.
</p>
<a class="btn btn-primary btn-cta mt-4" href="/services/maintenance/ruby-on-rails-upgrade" role="button">
<span style="flex-grow: 0">Find Out More</span></a>
</div>
</div>
</div>
<div class="swiper-timer w-full h-4 bg-gray-200 rounded-full overflow-hidden" style="position: absolute; bottom: 0px; right: 0px; font-size: 1rem; padding: 0.5rem;"><div style="transform: scale(var(--motion-scale)); --motion-scale: 1.06412;">6</div> </div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span></div>
</div>
<section class="home-section right-left-gradient home-section-right home-section-top home-section-dark hero-flipx home-section-reduce-contrast d-flex start position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/baweg-576w.webp 576w, /images/baweg-768w.webp 768w, /images/baweg-992w.webp 992w, /images/baweg-1200w.webp 1200w, /images/baweg-2560w.webp 4096w, /images/baweg-2560w.jpg ">
<source srcset="/images/baweg-576w.jpg 576w, /images/baweg-768w.jpg 768w, /images/baweg-992w.jpg 992w, /images/baweg-1200w.jpg 1200w, /images/baweg-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #2a2d2f; z-index: -1;" width="2560" height="1706" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APmN5Rmno2RVG5fbyKiju8cE4rUyNGaUhhgVPaSFqyvtAY9c1ctJlU4NK40X7i2EgzVMQGNuK1YnWRMU42oY5pDILKSQba1IXkJ+tO0+w5H+Fb8OmKE4oArafO8Iya1l8SvbrjNZl1GIBwMVgXlw2/Galq4zv7DxGZ5Fy3Wuw0sLclfzrxvSbhxInNeg6FrDwbQ547H0qWUmeq6dYJj/AOtT9RsQ0ZAFY+leI42AG7mtgamk6ZyD+NRYq5kwweRL0wa6CzmVlx0rJnlVmyKjW6MIzVEnxRd6huyBVNrst3xVVzk5pgGK1M9zSjuj1q5DeEd6xUY561ajl/OkM6qy1DgZNa9vfK3euNt7nbg1cTUCAMHFMDu7G9CsOa6KPUohGOf1ryqLWWi6GpT4jccZNAHc6pqCnO05zWBJMGck5rDbVnuO5qSK5fIOfzoA7TSBHgdzXQrcJDECDivPrPU/KYc8Vof2w0gxvNQM7O319rds7jit+y8V/uvv/rXli3jsetXLe8kGMGnYdz2HTdfE8gy2R6GuktQt2ODwe9eOaTfSrIpBr0rw5qe6NQTk1Az45Frml+yU+O4BBzzVqNw3Q1qQZ/2Yr0pPLK9a2kt1cen4VL/Ze/tnFAGIjEd6d5jetaM+lshOBiqUkBQ0AQu5xUQc+pq0sG73p/2SgCWyY9+a1BLgYqlbWuMVYeMqM0gJYpCW61q25xisKJ9rVoRXWFpgbsB3uBXQWGlvKRgZFc1pD+dOMc16x4a0wSxrletS3YClpeguHXj9K9D8P+H3JTjv6Va0fRU3j5a9K8OaGmAdvQ1DZSR+aUdXbfrVKOrtv1rUk1bTqK3rPqKwbTqK3rPqKaExLsD0FYNyBuPAreu6wrn7xp9BlWLqavLVGLqavLWaAs246Ulz90U637Ulz90VaAz261MnSoW61MnSl1A6Tw3/AMfC/WvcfCn+qj/CvDvDf/Hwv1r3Hwp/qo/wqJAejaL9+vSdD+4K820T79ek6J9xazZqj//Z">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Testimonials</h2>
<p></p><div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p><em>Professional</em>, <em>efficient</em>, and <em>strong communicator</em>, and <em>fairly priced</em>. David really helped me with some needs for my app - from refactoring old [code], to making improvements - he was <em>terrific</em>!</p>
<p class="testimonial-author">Gabriel Teninbaum</p>
<p class="testimonial-position">SpacedRepetition.com</p>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p>[Durable Programming managing partner] David Berube is <em>highly recommended</em> as a programmer and developer. He single handedly saved our project from imminent ruin. He has proven most professional in his conduct. He is <em>extremely fast</em> and efficient. Most importantly, David really knows his code. I recommend him <em>highly</em>.</p>
<p class="testimonial-author">Joey Rubenstein</p>
<p class="testimonial-position">Casting Frontier</p>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p>The folks at Durable Programming did an <em>exceptional</em> job recovering and updating our broken tool (coded years ago in Ruby on Rails). Throughout the process they were <em>responsive</em>, <em>patient</em>, and <em>communicative</em>. We also greatly appreciate their support of nonprofits. We’ll <em>definitely</em> be a <em>repeat customer</em>!</p>
<p class="testimonial-author">Kim Carter</p>
<p class="testimonial-position">QED Foundation</p>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p>[Durable Programming] was <em>fantastic</em>. Importantly, David has a <em>strong level of competence</em> which is something that other vendors have exaggerated just to win business. David handled a migration of multiple apps to a <em>new platform</em> and <em>new CI/CD</em>, did it <em>quickly</em> and on <em>budget</em>. I wish I found them sooner, it would have <em>saved</em> me a <em>ton of money</em>.</p>
<p class="testimonial-author">Kyle Stuart</p>
<p class="testimonial-position">SynthWorks LLC</p>
</div>
</div>
</div>
</div>
</div>
<p></p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/testimonials">Read More</a>
</div>
</div>
</section>
<section class="home-section hero-flipx left-right-gradient d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/as-seen-in-576w.webp 576w, /images/as-seen-in-768w.webp 768w, /images/as-seen-in-992w.webp 992w, /images/as-seen-in-1200w.webp 1200w, /images/as-seen-in-2560w.webp 4096w, /images/as-seen-in-2560w.jpg ">
<source srcset="/images/as-seen-in-576w.jpg 576w, /images/as-seen-in-768w.jpg 768w, /images/as-seen-in-992w.jpg 992w, /images/as-seen-in-1200w.jpg 1200w, /images/as-seen-in-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #4a2b1e; z-index: -1;" width="2560" height="1900" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APkNo91N8k1rtZheoxTRbr6V57qn0CpIzfJPpTxC3pWkLbPapVtMn7tR7YpUytZ2zZBz1q+1uwHWr9lY/d/wrTaxwP8A61c0q+p0Ro3OJvIGy1UQnPSut1CxBLZrGmswhzit4VroylSsykicVIE9qkEYFSqlNyuawVkJFH04qzFH7URoMirESVhOehq1Ykhj6Vbij6cU2JMYq1GnArhnLqESSKMnFXo04FR28YxWnaWwPzH8q8ypNHZBXOHuMDNVQ4FQ3F5uJ55quJSe5r6WMHY8X2i6GksgNWYWy1ZsDFq07KAsy5FROKiXGTexuaaudtbgt8r0zVfRtOMmO2OtdO2kMkecZ+lfP16yhKx6lJXRxWoW4XPFcxeoQSAK7nVrXrx0rlr+35Jr0MNUUkmzmqrUwGpVanzwlD7VB92vU0exzc/KW42yRVuNgRWYsmD6VZjnxWU4Ng6tzWhxV6EZxWPFcjvWjb3C/LzXBVizaE0zYtUBwK2bWD5OlYlrcLkVu2lwu2vFrp7HqUpRPGSM1KkTHrxWz/ZTelSLpbAj5a+2Pk0UrW3JZcjiun0iz3MvFUILBgcEAe9dBpkBiK55xXDXu1ZHZSa6na6BaRrEpxk10U0SbOlclYXrQqB2q62rnaRXztTCynK56kaiirIqapp4ctt5rmLzScE7hx9K6We+8wdeaz7iTfxnmt6dGpDYic4vc4u/05Uz8tYc9vhjXZX0BOQeaxrmxzzivboRklqeZVkjnWiIOKQDFakllk9MVC1kcV38l9zkcyqjkGrEd3sPPFMa0KjNMNufSk6KYvatbGnDqBXGDmtCDWig7/nXPeS3oaPKf3rmlg4T3NI4qUTsVRf7o/KgouOg/KlWlbpXWzJDFA44rVsxwtZS9q1rPtXLUOmn0NSAfJSSfdNLB9ykl+6a4o7nX0K56009acetNPWt4mFQrXABzwKy7kDeeK1J+9Zdz/rDXZTOaexTIHoKjYDHQVKaibpXUjlKsgGOgqDFWJOlV6sgeoHpTsD0FItLSQH/2Q==">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim"></h2>
<p></p><h4>As featured in..</h4>
<div class="row justify-content-between as-seen-logos d-flex my-2 gap-1">
<div class="durable-anim">
<img src="/images/logos/ibm-developerworks.svg" style="" alt="IBM DeveloperWorks">
</div>
<div class="durable-anim">
<img src="/images/logos/apress.svg" style="" alt="Apress">
</div>
<div class="durable-anim">
<img src="/images/logos/percona-white.png" style="" alt="Percona Live Conference and Expo">
</div>
<div class="durable-anim">
<img src="/images/logos/linux-mag-white.svg" style="" alt="Linux Magazine">
</div>
<div class="durable-anim">
<img src="/images/logos/fast_company.svg" style="" alt="Fast-Company">
</div>
<div class="durable-anim">
<img src="/images/logos/ipc-2024.svg" style="" alt="Linux Magazine">
</div>
<div class="durable-anim">
<img src="/images/logos/voicesthatmatter.svg" style="" alt="Linux Magazine">
</div>
<div class="durable-anim">
<img src="/images/logos/dzone.svg" style="" alt="DZone">
</div>
<div class="durable-anim">
<a href="https://www.designrush.com/agency/software-development/trends">
<img src="/images/logos/designrush.svg" style="" alt="software development trends">
</a>
</div>
</div>
<style>
</style>
<p></p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/about/as_seen_in">Find Out More</a>
</div>
</div>
</section>
<section class="home-section left-right-gradient home-section-dark home-section-right d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/manufacturing-576w.webp 576w, /images/manufacturing-768w.webp 768w, /images/manufacturing-992w.webp 992w, /images/manufacturing-1200w.webp 1200w, /images/manufacturing-2560w.webp 4096w, /images/manufacturing-2560w.jpg ">
<source srcset="/images/manufacturing-576w.jpg 576w, /images/manufacturing-768w.jpg 768w, /images/manufacturing-992w.jpg 992w, /images/manufacturing-1200w.jpg 1200w, /images/manufacturing-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #2a2627; z-index: -1;" width="2560" height="1714" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APhqiiigApVXcaURk9K09O05pn6UDSuU4bOSQgAZrRt9BklwQtdtoHhT7QB8v6dK9C0rwOn9wflWUpI2ULnjln4Tll/hBrVtfBMjY+TGfUV7rY+CYIwMIOfatiDwlDEuNgNYSqtbHRGkmeBw+BGJHyD8qtxeA2GPkH5V7pNoUFumdoH4VkXf2eDOQKy9ozZUkjyY+CNg5QflUMnhJY+qCvQb3UoV3Yx+dc9farFzyPzpqU2NqKOTn8PrHn5M1nS6UqdVrcv9UTJwc1h3epBlJrRKXUzlyxKU1oFPSs+W3Ab/AOtU0+obsYFUZbkkg1pysxlKL0McJnvUkcDM2K1PsFTw2PzdK6DkIbHTTKw4rq9K0bYA2OB+tM0izCuMiumRAgAHQUmNOxraJKlttyMV2mn62i45z+NedwyYZa1IJ2C4zWcop7mnO0ejQa6jEDOPxrdsb1ZlAz16V5daXRQgk10Om6yIhgtgVDpplqrY6bV59sbYOK8z8Qai6bsN+tdZqerxvCTuNef63dxyOSM4zTVOwpVTFnuZpz1qGSwmlXGMVoWkatJyK6yxs7cxf/WrZRRk5tnml3pUyEn2rDvLKVVIxXrWrW1vGhOM1wer+WrMB2NPlRDlJnHvbsGqH7M3rWtPtByKqs4p6ITZomJTTlQA5FUPtZbqamgmBY5NI2Na2n8r2xV0amQMf1rNiG5eKjnUx9aVgsbMeqYbvV+DVhxziuLa6KsQakjvPu80WJO6Gr/LjNKmuFDksa49blqVrsr1Jpgdhc+IC0f3jWFdai8rHJOKxpNQ96qyahz1NAjoLfUTG+ela0HiVkTaGPFcOLzn7xp7XpxwSaAsdVfeInmDLuJrnL68MznmqUl2T61Xa5BPOaAsPkkJJ54qqxpxmz71E0opCsiWpofvVDU0P3qplrc3bLpUt/8AdNRWXSpb/wC6aRq9jnZ/v1JB1FRz/fqSDqKDHqaUP3ajn71JD92o5+9ESjPn+7VNjVyf7tU2o6kjlqSo1qSgroMY1BmpmqGgTEY0xjTmprUA9z//2Q==">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Decades of Experience</h2>
<p class="lead durable-anim">We can repair legacy systems, no matter how complex.</p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/technologies">Technologies</a>
</div>
</div>
</section>
<section class="home-section right-left-gradient home-section-left home-section-dark hero-flipx d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/homepage-links-576w.webp 576w, /images/homepage-links-768w.webp 768w, /images/homepage-links-992w.webp 992w, /images/homepage-links-1200w.webp 1200w, /images/homepage-links-2560w.webp 4096w, /images/homepage-links-2560w.jpg ">
<source srcset="/images/homepage-links-576w.jpg 576w, /images/homepage-links-768w.jpg 768w, /images/homepage-links-992w.jpg 992w, /images/homepage-links-1200w.jpg 1200w, /images/homepage-links-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #4a4d57; z-index: -1;" width="2560" height="2720" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APb7fTCigEVdGk1rRRKuMDmpgteUeic/PpBKdKxNQ0AHPy9q7woCKqXNosiHAppkvU8Y1zSGRWBWuA1WJoyQRXvmuaOsiHIryrxPpPkyPxXXTqX0MJI88nkbaeaxb12Oea6W4smLsOgp8HhprjHy12RmonO0+hwUiue1M2P6GvUIfALyrkJn8KmHw8kP8H6VXtYkqLPKvKf0NHlP6GvWP+FeSf3P0pD8PJB/B+lL2kR8jR5M0D+9V5IXGODXrb/D+Qf8s/0qnJ4Akz/q/wBKftELlbPIrq1dt3Ws+XTHLZ2V7Svw9dsZj/SrC/DZm/5Z/pTVaKGoM+sQMU4HNVjcKP4s0C6A714J6Rb3U0jNVxdD1qQXCk0CKeo23mRnivOPFmmbwfl5NepSsrriuT8RW6PG/HSt4OzJkeMXOnqJTkc10Xh6xilKgiqetKsUxIFP0C/8qYDPGa6nqjBaM9P0vw/C6fcxmtIeGoR/DVTQtSVoVya3f7SiHeuNtpm6Rnf8I7D/AHaP+Edh/u1dfVox1bFMbW4v71F2OyKL+HIT/DVN/DUJ/h/StOTXIhj5qz7jxJApJ3Ue8idCIeGYB/AKvReHYV6IOazv+Epi/v1ch8TxOufMxQ+YNCwZWFRSTsoyK0Wtvaq01nnNZGpnPqDA4yRSJqbFupp02nsCTUAsWBziqTINCPUC2cms3VpvNjbnNTJCVzniobiLchHWhA9jzPxDGyu2eK522vjbzDPrXaeJrZQDkc157c/6044rug7oweh6DoviFkQfNxWrL4oZU4Y1wWiu3TPFbssJaPg5qWlcE2S3vjN42J3kfjWXN4/cNjefzrD1q3aP3rjb7zA5BOK3hTTRk5s7y6+ID/N8x/Osm5+IDnd8x/OuCuZXwQG6VmTyvz81bqkjPnZ6Mnjt+P3h/Or8Hj11T75/OvJFuH9akW8f1P50eyiHOz78pj9afTJOorwz1CCQfKapS9auyfdNUputAFdqrT/cNWWqtP8AcNBBw3ir7v515vcf6016R4q+7+deb3H+tNd8NjCW5saT1H0ro1+5XOaT1H0ro1+5SnuKJzmt9GriNS++fpXb630auI1L75+ldtPY5pbmLc/easqf75rVufvNWVP9810GZVam05qbUoD/2Q==">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Is Your Software A Weak Link?</h2>
<p class="lead durable-anim">You can break any chain with one weak link.</p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/about/is-your-software-a-weak-link">About Us</a>
</div>
</div>
</section>
<section class="home-section right-left-gradient home-section-right d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/keyboard-576w.webp 576w, /images/keyboard-768w.webp 768w, /images/keyboard-992w.webp 992w, /images/keyboard-1200w.webp 1200w, /images/keyboard-2560w.webp 4096w, /images/keyboard-2560w.jpg ">
<source srcset="/images/keyboard-576w.jpg 576w, /images/keyboard-768w.jpg 768w, /images/keyboard-992w.jpg 992w, /images/keyboard-1200w.jpg 1200w, /images/keyboard-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #292a33; z-index: -1;" width="2560" height="1706" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APiMQOe1PS0ckV1EejDPIz+FW4NIQEfLTsNI5SLTXk7ZqzFoznHymuxt9JRQfkqyLCKPHy5quULHIQaI79iMVct/D7HOQT+FdSkES9sVZ3xL/DRysLHNQeHsZ+Q1fh8OBOoP5Vqi6RT6VIdQRQMGrVNhzIpwaIkbZIrQgso4sYHPvVObVFGKgfU8DgkVapNhzI3keOLPA5qyNTRR1FchLqhz941XfUiw+8fyoVEfOjs59aVBnIqi/iE+tcjcXzOuA36VVkupP71N0Yi57nTXmvlt3zVhXl+ZFJyT71nNMxJ5OaibLd6Xs0hOTZvPdIKiXUMGsU3pboc0hlLdalIVzo49U47/AJ02XU+O9c95hpwlY9zWqSJcmzXfU+e9MbVPc1l+YaTcfWmtCbs1Rfk/xGl+2n+8ay1YipFY1aYFxrpm6E8U9ZiwyDVOpAcValYmxab5qjamh8dqbJ0xQ5jIycU0jNMJxQX9qzcirDNtSKtRb6kVxWPMUZ0YJqwq+1OitWJ6VbFqw9K2VNszuVPL96AmO9aK2uRyRUcsOz2rTkaFcrLH71KID2OfwppYL1qaOZQ3rUpJblEf2cilWJquxqJKsrZ+1Vyom5nrEe9OK1ea2CDOMVTmlWM80rWKIyMUyQ4FNkuVWqkl1x1zWUmgJnbmoWeoxLvxjNTwWbzEcVi2WQbzT92a000OTsM1Zj0I9xmsZSsWkRW1WGqvbVYavfjscY6PvVS86Grcfeql50NRU2KRkTfep8P3qZN96nw/erzykalnWxbfcrHs62Lb7lbrYoZdd6wL+t+671gX/eoZRkydqiqWTtUVc0twJ7f79dZov8Fcnb/frrNF/gqC0dNbqCnQUrKvoPyotvuU5qxmax2P/9k=">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Why Durable?</h2>
<p class="lead durable-anim">The world has a lot of programmers. Why us?</p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/about/why_durable">Find out</a>
</div>
</div>
</section>
</div>
</div>
<div class="durable-footer text-white py-5">
<div class="container">
<div class="row">
<div class="col-md-6">
<div class="d-flex align-items-center mb-4">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="https://github.com/durableprogramming/" target="blank" class="text-white"><img width="24" height="24" src="/social/github.svg" title="Github" alt="Github" class="img-fluid"></a></li>
<li class="list-inline-item"><a href="https://x.com/durableprogram" target="blank" class="text-white"><img width="24" height="24" src="/social/twitter.svg" title="Twitter" alt="Twitter" class="img-fluid"></a></li>
<li class="list-inline-item"><a href="https://www.linkedin.com/company/durable-programming-llc" target="blank" class="text-white"><img width="24" height="24" src="/social/linkedin.svg" title="Linkedin" alt="Linkedin" class="img-fluid"></a></li>
</ul>
</div>
</div>
<div class="col-md-6 justify-content-end d-flex">
<ul class="list-inline text-md-end mb-0">
<li class="list-inline-item"><a href="https://durableprogramming.com/" class="text-white">Home</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/terms_of_use" class="text-white">Terms of Use</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/privacy_policy" class="text-white">Privacy Policy</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/refund_policy" class="text-white">Refund Policy</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/contact" class="text-white">Contact</a></li>
</ul>
</div>
</div>
<div class="row">
<div class="col-md-4 flex-grow-1">
<ul>
<li><strong>Phone: </strong>(617) 356-8239</li>
<li><strong>Email: </strong><a href="mailto:[email protected]">
[email protected]</a></li>
</ul>
</div>
<div class="col-md-4 durable-footer-address">
<div class="mb-4">
<p class="mb-0">345 Cilley Road, Suite A</p>
<p class="mb-0">Manchester, NH 03103</p>
</div>
</div>
</div>
<div class="last-footer-row">
<div class="col-md-12">
<span class="copyright">Copyright 2024 Durable Programming, LLC. All rights reserved.</span>
<span class="kudos">Designed in conjunction with our partners at <a href="https://piniondesigns.com">Pinion Designs</a></span>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/js/scripts.min.5d8136fd5340111da74c95e75ecd6007e9d9b4351c8124aa5111cc57339058ec.js"></script>
<div style="position: fixed; width: 100%; right: 2rem; bottom: 2rem; z-index: 8192; display: flex; justify-content: end; ">
<button onclick="if (!window.__cfRLUnblockHandlers) return false; openContactModal()" class="rounded-circle shadow-lg p-1 d-none d-md-block" id="contact-us-button" style="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M9 11H6c0-3 1.6-4 2.7-4.6q.6-.3.9-.6c.5-.5.3-1.2.2-1.4c-.3-.7-1-1.4-2.3-1.4C5.4 3 5 4.9 5 5.3l-3-.4C2.2 3.2 3.7 0 7.5 0c2.3 0 4.3 1.3 5.1 3.2c.7 1.7.4 3.5-.8 4.7c-.5.5-1.1.8-1.6 1.1c-.9.5-1.2 1-1.2 2m.5 3a2 2 0 1 1-3.999.001A2 2 0 0 1 9.5 14"></path></svg>
</button>
<a href="tel:+16173568239" class="rounded-circle shadow-lg p-1 d-none d-md-block" id="contact-us-button" style="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M21 16.42v3.536a1 1 0 0 1-.93.998Q19.415 21 19 21C10.163 21 3 13.837 3 5q0-.414.046-1.07A1 1 0 0 1 4.044 3H7.58a.5.5 0 0 1 .498.45q.034.344.064.552A13.9 13.9 0 0 0 9.35 8.003c.095.2.033.439-.147.567l-2.158 1.542a13.05 13.05 0 0 0 6.844 6.844l1.54-2.154a.46.46 0 0 1 .573-.149a13.9 13.9 0 0 0 4 1.205q.208.03.55.064a.5.5 0 0 1 .449.498"></path></svg>
</a>
<a href="mailto:[email protected]" class="rounded-circle shadow-lg p-1 d-none d-md-block" id="contact-us-button" style="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M4 20q-.825 0-1.412-.587T2 18V6q0-.825.588-1.412T4 4h16q.825 0 1.413.588T22 6v12q0 .825-.587 1.413T20 20zm8-7l8-5V6l-8 5l-8-5v2z"></path></svg>
</a>
</div>
<div id="contact-modal" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Ask a question</h5>
<button type="button" class="close" onclick="if (!window.__cfRLUnblockHandlers) return false; closeContactModal()" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p class="text-muted">
Fill out this form and we'll get back to you ASAP.
</p><form id="contact-form" action="https://formspree.io/f/mgvwkqed" method="POST">
<div class="form-group">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required="">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required="">
</div>
<div class="form-group">
<label for="message">Message:</label>
<textarea id="message" name="message" required=""></textarea>
</div>
<button type="submit">Send</button>
</form>
<style>
#contact-form {
max-width: 500px;
margin: 0 0;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
margin-bottom: 5px;
}
input[type="text"],
input[type="email"],
textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
}
textarea {
height: 150px;
}
button {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #0056b3;
}
</style>
<script type="text/javascript">
document.getElementById('contact-form').addEventListener('submit', function(event) {
event.preventDefault();
var form = event.target;
var data = new FormData(form);
fetch(form.action, {
method: form.method,
body: data,
headers: {
'Accept': 'application/json'
}
}).then(response => {
if (response.ok) {
alert('Thank you for your message. We will get back to you soon!');
closeContactModal();
var emailInput = document.getElementById('email');
if (emailInput.value === '[email protected]') {
window.location.href = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
}
} else {
response.json().then(data => {
if (Object.hasOwn(data, 'errors')) {
alert(data["errors"].map(error => error["message"]).join(", "));
} else {
alert('Oops! There was a problem submitting your form');
}
})
}
}).catch(error => {
alert('Oops! There was a problem submitting your form');
});
});
</script>
<p></p>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function openContactModal() {
document.getElementById('contact-modal').style.display = 'block';
}
function closeContactModal() {
document.getElementById('contact-modal').style.display = 'none';
}
window.onclick = function(event) {
if (event.target == document.getElementById('contact-modal')) {
closeContactModal();
}
}
</script>
<style>
.modal {
display: none;
position: fixed;
z-index: 8192;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.4);
}
.modal-dialog {
position: relative;
width: auto;
margin: 1.75rem auto;
max-width: 500px;
}
.modal-content {
position: relative;
display: flex;
flex-direction: column;
background-color: #fff;
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.2);
border-radius: .3rem;
outline: 0;
}
.modal-header, .modal-body, .modal-footer {
padding: 1rem;
}
.modal-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
border-bottom: 1px solid #dee2e6;
}
.modal-footer {
display: flex;
align-items: center;
justify-content: flex-end;
border-top: 1px solid #dee2e6;
}
.close {
float: right;
font-size: 1.5rem;
font-weight: 700;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
background: none;
border: none;
padding: 0;
}
</style>
<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"rayId":"8dde236ec8152fa3","version":"2024.10.4","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"9eca26dfbcc048908614881a41b4f324","b":1}" crossorigin="anonymous"></script>
<script type="text/javascript" id="" charset="">(function(a,e,b,f,g,c,d){a[b]=a[b]||function(){(a[b].q=a[b].q||[]).push(arguments)};c=e.createElement(f);c.async=1;c.src="https://www.clarity.ms/tag/"+g;d=e.getElementsByTagName(f)[0];d.parentNode.insertBefore(c,d)})(window,document,"clarity","script","o0kl6b0jyb");</script><script type="text/javascript" id="" charset="">(function(a,e,b,f,g,c,d){a[b]=a[b]||function(){(a[b].q=a[b].q||[]).push(arguments)};c=e.createElement(f);c.async=1;c.src="https://www.clarity.ms/tag/"+g+"?ref\x3dgtm2";d=e.getElementsByTagName(f)[0];d.parentNode.insertBefore(c,d)})(window,document,"clarity","script","o0kl6b0jyb");</script></body></html>