Help
RSS
API
Feed
Maltego
Contact
Domain > daveinside.com
×
Welcome!
Right click nodes and scroll the mouse to navigate the graph.
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-06-03
166.62.27.55
(
ClassC
)
2024-09-13
104.21.15.135
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Fri, 13 Sep 2024 07:06:53 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveCache-Control: max-age3600Expires: Fri, 13 Sep 2024 08:06:53 GMTLocation: https://daveinside.com/Report-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?s3%2BNxgGMxbLZektGzdNzkmiS%2FXZQeljCpK%2FfBQk2qHRKkAMQje51hH%2FGoPgi8YOx0g7cNKRGs4sDhK7toPGSCjuxPB72%2BicjlmOtBrQ201QhNLAdYCr7PXQo37cd8Xpc61A%3D%3D},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Server: cloudflareCF-RAY: 8c264c158cae9376-SEAalt-svc: h3:443; ma86400 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>cloudflare/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Fri, 13 Sep 2024 07:06:53 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveAccess-Control-Allow-Origin: *Cache-Control: public, max-age0, must-revalidatereferrer-policy: strict-origin-when-cross-originx-content-type-options: nosniffReport-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?s57ov9b%2Bhii169pj5dRrnNMT4NOupHE039t98aslo2Ca096hMnBqnUiD1SUKbvWRL7dgSrpjin9AIcJ4iI%2F4AW8hYt8rbuVy7I4MHs9kbssdWjF3PLTw9ll76dRvtgB9jzQ%3D%3D},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Vary: Accept-EncodingCF-Cache-Status: DYNAMICServer: cloudflareCF-RAY: 8c264c15feea2808-SEAalt-svc: h3:443; ma86400 !DOCTYPE html>html>head>meta charSetutf-8 />meta nameviewport contentwidthdevice-width, initial-scale1, minimal-ui />meta nameapple-mobile-web-app-capable contentyes />link relshortcut icon href/favicons/favicon.ico />link relapple-touch-icon sizes57x57 href/favicons/apple-icon-57x57.png />link relapple-touch-icon sizes60x60 href/favicons/apple-icon-60x60.png />link relapple-touch-icon sizes72x72 href/favicons/apple-icon-72x72.png />link relapple-touch-icon sizes76x76 href/favicons/apple-icon-76x76.png />link relapple-touch-icon sizes114x114 href/favicons/apple-icon-114x114.png />link relapple-touch-icon sizes120x120 href/favicons/apple-icon-120x120.png />link relapple-touch-icon sizes144x144 href/favicons/apple-icon-144x144.png />link relapple-touch-icon sizes152x152 href/favicons/apple-icon-152x152.png />link relapple-touch-icon sizes180x180 href/favicons/apple-icon-180x180.png />link relicon typeimage/png sizes192x192 href/favicons/android-icon-192x192.png />link relicon typeimage/png sizes32x32 href/favicons/favicon-32x32.png />link relicon typeimage/png sizes96x96 href/favicons/favicon-96x96.png />link relicon typeimage/png sizes16x16 href/favicons/favicon-16x16.png />link relmanifest href/favicons/manifest.json />meta namemsapplication-TileColor content#ffffff />meta namemsapplication-TileImage content/favicons/ms-icon-144x144.png />meta nametheme-color content#2a3136 />script srchttps://unpkg.com/website-carbon-badges@1.1.3/b.min.js defer>/script>title>Meet Dave | Frontend Engineer/title>meta namenext-head-count content23 />link relpreload href/_next/static/css/aae60ce8c7a6b3a2.css asstyle />link relstylesheet href/_next/static/css/aae60ce8c7a6b3a2.css data-n-p />noscript data-n-css>/noscript>/head>body>div id__next data-reactroot>style data-emotioncss-global 1r57m9c>:root{-webkit-print-color-scheme:light dark;color-scheme:light dark;--primary-dark:#00E4AC;--secondary-dark:#F7C15B;--background-dark:#2A3136;--notBg-dark:white;--grey-dark:#88949D;--fontColor-dark:white;--primary:#009e77;--secondary:#9e6700;--background:rgb(250, 250, 250);--notBg:#2A3136;--grey:#88949D;--fontColor:black;--wcb:#0e11a8;}body{font-family:Quicksand,sans-serif;max-width:1000px;margin:0 auto;color:black;padding:50px;}body #wcb #wcb_a,body #wcb #wcb_g{border:none;}body #wcb *{font-family:Quicksand,sans-serif!important;}body #wcb #wcb_2{color:var(--primary)!important;}body #wcb #wcb_g{color:black!important;}body #wcb #wcb_a{color:black!important;}@media (prefers-color-scheme: dark){body #wcb #wcb_2{color:white!important;}}@media (max-width: 500px){body{padding:20px;}}@media (prefers-color-scheme: dark){body{background:var(--background-dark);color:var(--primary-dark);}body:root{--wcb:white;}}@media (prefers-color-scheme: light){body{background:var(--background);color:var(--primary);}}a,u{-webkit-text-decoration:none;text-decoration:none;}main{max-width:800px;margin:0 auto;padding:0px 30px;color:var(--fontColor);}@media (prefers-color-scheme: dark){main{color:var(--fontColor-dark);}}@media (max-width: 1023px){main{padding:0px;width:100%;max-width:100%;}}/style>div classcss-0>style data-emotioncss fg6tns>.css-fg6tns{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;max-width:800px;margin:0 auto;}/style>nav classcss-fg6tns>div stylewidth:50%>style data-emotioncss 14unln2>.css-14unln2{width:80%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/style>div classcss-14unln2>style data-emotioncss w1c0vc>.css-w1c0vc img{width:100px;height:100px;border-radius:50px;margin-right:20px;}@media (max-width: 1023px){.css-w1c0vc img{height:60px;width:60px;margin-right:15px;}}/style>div classcss-w1c0vc>picture>source media(max-width: 799px) srcSet/favicons/ms-icon-310x310.webp />source media(min-width: 800px) srcSet/favicons/ms-icon-310x310.webp />img src/favicons/ms-icon-310x310.png altMeet Dave />/picture>/div>style data-emotioncss bx5q71>.css-bx5q71 h1{color:var(--fontColor);font-size:24px;margin-bottom:0px;margin-top:0px;}.css-bx5q71 p{color:var(--grey);font-size:18px;margin:0px;}@media (prefers-color-scheme: dark){.css-bx5q71 h1{color:var(--fontColor-dark);}.css-bx5q71 p{color:var(--grey-dark);}}.css-bx5q71 div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:2px;}@media (max-width: 1023px){.css-bx5q71 h1{font-size:20px;}.css-bx5q71 p{font-size:12px;}}/style>div classcss-bx5q71>h1>Meet Dave/h1>style data-emotioncss 1szvz8t>.css-1szvz8t{margin-top:10px;}.css-1szvz8t svg{width:25px;fill:var(--primary);margin-right:12px;}@media (prefers-color-scheme: dark){.css-1szvz8t svg{fill:var(--primary-dark);}}@media (max-width: 1023px){.css-1szvz8t{margin-top:5px;}.css-1szvz8t svg{width:18px;fill:var(--fontColor);margin-right:10px;}@media (prefers-color-scheme: dark){.css-1szvz8t svg{fill:var(--fontColor-dark);}}}/style>div classcss-1szvz8t>a hrefhttps://github.com/meetdave3 target_blank relnoreferrer>svg height100% width100% fillnone viewBox0 0 10 10 xmlnshttp://www.w3.org/2000/svg>g clip-pathurl(#a)>path dm5 0.20833c-2.7625 0-5 2.2-5 4.9133 0 2.1712 1.4325 4.0125 3.4188 4.6617 0.25 0.04625 0.34167-0.10583 0.34167-0.23625 0-0.11667-0.00417-0.42583-0.00625-0.83542-1.3908 0.29625-1.6842-0.65916-1.6842-0.65916-0.2275-0.56709-0.55625-0.71875-0.55625-0.71875-0.45292-0.30459 0.035-0.29834 0.035-0.29834 0.50208 0.03417 0.76583 0.50625 0.76583 0.50625 0.44584 0.75125 1.1704 0.53417 1.4562 0.40875 0.045-0.31792 0.17375-0.53417 0.31667-0.65708-1.1104-0.12292-2.2775-0.54542-2.2775-2.4279 0-0.53625 0.19375-0.97458 0.51458-1.3183-0.05625-0.12417-0.225-0.62375 0.04375-1.3004 0 0 0.41875-0.13166 1.375 0.50375 0.4-0.10917 0.825-0.16333 1.25-0.16583 0.425 0.0025 0.85 0.05666 1.25 0.16583 0.95-0.63541 1.3688-0.50375 1.3688-0.50375 0.26875 0.67667 0.1 1.1762 0.05 1.3004 0.31875 0.34375 0.5125 0.78208 0.5125 1.3183 0 1.8875-1.1688 2.3029-2.2812 2.4238 0.175 0.1475 0.3375 0.44875 0.3375 0.90917 0 0.6575-0.00625 1.1858-0.00625 1.3454 0 0.12875 0.0875 0.2825 0.34375 0.23333 2.0004-0.645 3.4317-2.4875 3.4317-4.6554 0-2.7133-2.2388-4.9133-5-4.9133z>/path>/g>defs>clipPath ida>rect width10 height10>/rect>/clipPath>/defs>/svg>/a>a hrefhttps://www.linkedin.com/in/meet-dave target_blank relnoreferrer>svg height100% width100% fillnone viewBox0 0 10 10 xmlnshttp://www.w3.org/2000/svg>g clip-pathurl(#a)>path dm3.1252 8.2617h-1.3672v-4.4141h1.3672v4.4141zm0.13642-5.8204c0-0.44197-0.35859-0.80071-0.80033-0.80071-0.44342 0-0.80108 0.35874-0.80108 0.80071 0 0.44212 0.35766 0.80086 0.80108 0.80086 0.44174 0 0.80033-0.35874 0.80033-0.80086zm4.9806 3.392c0-1.1849-0.25032-2.0638-1.6345-2.0638-0.66513 0-1.1116 0.33264-1.2939 0.67856h-0.0013v-0.60043h-1.3281v4.4141h1.3281v-2.1916c0-0.57396 0.1461-1.13 0.85754-1.13 0.70176 0 0.72449 0.65636 0.72449 1.1665v2.1552h1.3477v-2.4284zm1.7578 2.9948v-7.6562c0-0.64622-0.52567-1.1719-1.1719-1.1719h-7.6562c-0.64622 0-1.1719 0.52566-1.1719 1.1719v7.6562c0 0.64621 0.52566 1.1719 1.1719 1.1719h7.6562c0.64621 0 1.1719-0.52567 1.1719-1.1719zm-1.1719-8.0469c0.21538 0 0.39063 0.17525 0.39063 0.39063v7.6562c0 0.21538-0.17525 0.39063-0.39063 0.39063h-7.6562c-0.21538 0-0.39063-0.17525-0.39063-0.39063v-7.6562c0-0.21538 0.17525-0.39063 0.39063-0.39063h7.6562z>/path>/g>defs>clipPath ida>rect width10 height10>/rect>/clipPath>/defs>/svg>/a>a hrefhttps://stackoverflow.com/users/8499698/meet-dave target_blank relnoreferrer>svg height100% width100% fillnone viewBox0 0 10 10 xmlnshttp://www.w3.org/2000/svg>g clip-pathurl(#a)>path dm2.685 6.1829 4.3075 0.915 0.18041-0.87041-4.3075-0.92167-0.18041 0.87708z>/path>path dm2.5896 7.3213h4.4025v0.88625h-4.4025v-0.88625z>/path>path dm3.25 4.0962 3.9883 1.8858 0.36958-0.81-3.9904-1.8908-0.3675 0.815z>/path>path dm7.2389 5.9826-5.1e-4 -5e-4 -5e-4 5e-4h0.00101z>/path>path dM0.833344 6.42876V10H8.74667V6.42876H7.86626V9.10709H1.71376V6.42876H0.833344Z>/path>path dm4.3554 2.1096 3.3788 2.8638 0.56083-0.6875-3.3788-2.8638-0.56083 0.6875z>/path>path dm9.1667 3.5779-2.6258-3.5779-0.70459 0.53583 2.6258 3.5779 0.70458-0.53583z>/path>/g>defs>clipPath ida>rect width10 height10>/rect>/clipPath>/defs>/svg>/a>a hrefhttps://twitter.com/meetmeetdave target_blank relnoreferrer stylepadding-top:5px>svg version1.1 idCapa_1 xmlnshttp://www.w3.org/2000/svg x0px y0px viewBox0 0 512 512>g>g>path dM512,97.248c-19.04,8.352-39.328,13.888-60.48,16.576c21.76-12.992,38.368-33.408,46.176-58.016 c-20.288,12.096-42.688,20.64-66.56,25.408C411.872,60.704,384.416,48,354.464,48c-58.112,0-104.896,47.168-104.896,104.992 c0,8.32,0.704,16.32,2.432,23.936c-87.264-4.256-164.48-46.08-216.352-109.792c-9.056,15.712-14.368,33.696-14.368,53.056 c0,36.352,18.72,68.576,46.624,87.232c-16.864-0.32-33.408-5.216-47.424-12.928c0,0.32,0,0.736,0,1.152 c0,51.008,36.384,93.376,84.096,103.136c-8.544,2.336-17.856,3.456-27.52,3.456c-6.72,0-13.504-0.384-19.872-1.792 c13.6,41.568,52.192,72.128,98.08,73.12c-35.712,27.936-81.056,44.768-130.144,44.768c-8.608,0-16.864-0.384-25.12-1.44 C46.496,446.88,101.6,464,161.024,464c193.152,0,298.752-160,298.752-298.688c0-4.64-0.16-9.12-0.384-13.568 C480.224,136.96,497.728,118.496,512,97.248z>/path>/g>/g>/svg>/a>/div>/div>/div>/div>/nav>style data-emotioncss yr7qu>.css-yr7qu{width:100%;max-width:800px;margin:0 auto;font-size:16px;padding-top:20px;}/style>div classcss-yr7qu>style data-emotioncss tax7vb>.css-tax7vb a{color:var(--secondary);word-wrap:break-word;}.css-tax7vb p,.css-tax7vb h2,.css-tax7vb h3,.css-tax7vb h4,.css-tax7vb h5,.css-tax7vb h6{text-align:left;max-width:800px;color:var(--fontColor);font-size:1em;}.css-tax7vb h3{font-size:2rem;color:var(--primary);}.css-tax7vb p,.css-tax7vb li{font-size:1.1rem;line-height:1.4rem;}.css-tax7vb p{line-height:1.4;overflow-wrap:break-word;color:var(--fontColor);}.css-tax7vb ol li::marker{color:rgb(143, 222, 203);width:2em;}.css-tax7vb ol li{color:var(--fontColor);padding-bottom:10px;line-height:1.4rem;}.css-tax7vb ul{max-width:800px;margin:0 auto;display:block;list-style:none;margin:1em 0 1em 30px;}.css-tax7vb ul >li{position:relative;display:block;color:var(--fontColor);}.css-tax7vb ul >li:not(:last-child){margin-bottom:1em;}.css-tax7vb ul >li::before{position:absolute;width:8px;top:50%;margin-top:-4px;left:-20px;height:8px;content:;border-radius:50%;background:rgb(143, 222, 203);}.css-tax7vb pre{margin-left:calc(-0.5 * var(--content-padding));width:calc(100% + var(--content-padding));font-size:16px;box-shadow:rgba(0, 0, 0, 0.05) 2px 1px 1px;line-height:1.4;padding:15px 30px;background:var(--notBg);color:var(--background);border-radius:5px;overflow:auto;}@media (max-width: 1023px){.css-tax7vb pre{font-size:12px;}}@media (max-width: 500px){.css-tax7vb p{font-size:16px!important;}}@media (prefers-color-scheme: dark){.css-tax7vb a{color:var(--secondary-dark);}.css-tax7vb h6{color:var(--fontColor-dark);}.css-tax7vb h3{color:var(--primary-dark);}.css-tax7vb ol li{color:var(--fontColor-dark);}.css-tax7vb ul >li{color:var(--fontColor-dark);}.css-tax7vb p{color:var(--fontColor-dark);}.css-tax7vb pre{color:var(--background-dark);background:var(--notBg-dark);}}/style>div classcss-tax7vb>p>Hi! I am a software engineer specialised in frontend technologies with an eye for web performance & pixel perfect web design. Obsessed about user experience, open source & making modern web applications work as they should: beautiful, efficient, fast, and easy to use./p>p>Emphasis on strong>em>core web vitals/em>/strong>, automation with strong>em>CI/CD pipelines/em>/strong>. In-depth experience with Nextjs framework and managing serverless cloud infrastructure with AWS & Cloudflare/p>p>Other interests, in random order: Flutter, JAM Stack, Event driven architecture, Microfrontends/p>/div>/div>/div>main>h2 stylepadding-top:50px;font-size:22px;padding-bottom:0;margin:0>Recent Articles/h2>a href/blog/seo-friendly-web-design>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>SEO friendly web design/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Designers can optimise a webpage by focusing on what they show above the fold. Enforcing a performance driven approach from the beginning of a software lifecycle/p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Fri Feb 11 2022/p>/div>/div>/div>/a>a href/blog/extending-nextjs-image-component-to-improve-ux>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>Extending Next.js' Image component to improve UX/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>In this article, we explore extending the Next's image component to improve the end user experience alternatively./p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Mon Nov 22 2021/p>/div>/div>/div>/a>a href/blog/cicd-tooling-for-frontend-projects>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>CI/CD tooling for frontend projects/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Setting up continuous integration pipelines for your frontend project can help you avoid bugs & filter out problems sneaking into production. /p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Wed Apr 21 2021/p>/div>/div>/div>/a>a href/blog/html-autocomplete-value-for-city>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>HTML autocomplete value for "city"/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>A few days ago I was building a form in React that would take in user's address fields such as address lines, postal code, city, country, etc./p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Wed Mar 31 2021/p>/div>/div>/div>/a>a href/blog/handling-runtime-errors-when-server-side-rendering-with-nextjs>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>Handling runtime errors when server side rendering with Next.js/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Avoid bad user experience by exploring different ways to manage runtime errors with Next.js/p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Tue Feb 09 2021/p>/div>/div>/div>/a>a href/blog/we-prototyped-an-ai-camera-app-to-safeguard-children-from-sexting>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>We prototyped an AI camera app to safeguard children from sexting/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Offline first iOS camera app with a ML model that detects nudity at about 30-40fps/p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Fri Dec 18 2020/p>/div>/div>/div>/a>a href/blog/highlighting-railway-tracks-on-google-maps-using-map-data-from-openstreetmap>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>Highlighting railway tracks on Google maps using map data from OpenStreetMap/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>A few days ago, I stumbled upon a scenario where I had to plot a railway track on a web mapping service like Google Maps. There was a need to document this straightforward approach which would save some research time for the one’s wanting to achieve a similar objective./p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Mon Oct 26 2020/p>/div>/div>/div>/a>a href/blog/styled-components-vs-emotion-js-performance-perspective>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>Styled components vs Emotion js: Performance perspective/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Ever wondered how your styles make it to the browser when using CSS-in-JS libraries? When using css in js libraries such as styled-components or emotion, the library removes the mapping between strong>components/strong> and styles. This means that when you're defining your styles, you're actually creating a normal React strong>component/strong>, that has your styles attached to it. This means you are shipping your styles in a .js file rather than a .css file. This has performance cost associated. /p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Wed Aug 19 2020/p>/div>/div>/div>/a>a href/blog/positive-affirmations-program-yourself-to-achieve-anything>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>Positive Affirmations: program yourself to achieve anything/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Introducing Growbox app to tell yourself you’re awesome, repeatedly./p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Tue Aug 20 2019/p>/div>/div>/div>/a>a href/blog/css-animations-with-react-juicy-frontend-ui>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>CSS Animations with React Juicy Frontend UI/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Conditionally rendered CSS animations are core ingredients for a juicy user experience. With the styled-components library along with managing React’s component lifecycle this is a cakewalk. Couple this with Fast APIs, and you have the recipe for an addictive website user interface (UI)./p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Mon Feb 18 2019/p>/div>/div>/div>/a>a href/blog/your-basic-guide-to-learn-git-commands-1>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>Your basic guide to learn Git commands/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>15 Git commands to make you a know-it-all Git pro!/p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Fri May 11 2018/p>/div>/div>/div>/a>a href/blog/integrating-ccavenue-in-nodejs-and-angular>style data-emotioncss 1a22enj>.css-1a22enj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:30px;padding-bottom:20px;cursor:auto;}/style>div classcss-1a22enj>style data-emotioncss 19u56an>.css-19u56an{color:var(--primary);font-size:24px;margin:0px;cursor:pointer;}@media (prefers-color-scheme: dark){.css-19u56an{color:var(--primary-dark);}}@media (max-width: 1023px){.css-19u56an{font-size:20px;}}/style>h2 classcss-19u56an>Integrating CCAvenue in Node.js & Angular/h2>style data-emotioncss 1sbjgvj>.css-1sbjgvj{cursor:pointer;}.css-1sbjgvj p{color:var(--fontColor);font-size:20px;width:80%;margin-top:10px;margin-bottom:5px;}@media (max-width: 1023px){.css-1sbjgvj p{font-size:16px;width:95%;line-height:1.4;}}@media (prefers-color-scheme: dark){.css-1sbjgvj p{color:var(--fontColor-dark);}}/style>div classcss-1sbjgvj>p>Structuring your web-application to accept Payments via CCAvenue/p>/div>style data-emotioncss 55mf2x>.css-55mf2x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-55mf2x div{margin-right:20px;}.css-55mf2x a{-webkit-text-decoration:none;text-decoration:none;}/style>div classcss-55mf2x>style data-emotioncss 1s6xqnx>.css-1s6xqnx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-1s6xqnx p{color:var(--grey);font-size:18px;}.css-1s6xqnx svg{width:18px;margin-right:10px;}@media (max-width: 1023px){.css-1s6xqnx p{font-size:12px;}.css-1s6xqnx svg{width:10px;margin-right:5px;}}/style>div width18px classcss-1s6xqnx>svg width100% height100% viewBox0 0 7 7 fill#88949D xmlnshttp://www.w3.org/2000/svg>path dM6.09766 0.546875H5.46875V0.21875C5.46875 0.0979453 5.37082 0 5.25 0C5.12918 0 5.03125 0.0979453 5.03125 0.21875V0.546875H1.96875V0.21875C1.96875 0.0979453 1.87082 0 1.75 0C1.62918 0 1.53125 0.0979453 1.53125 0.21875V0.546875H0.902344C0.404783 0.546875 0 0.951658 0 1.44922V6.09766C0 6.59522 0.404783 7 0.902344 7H6.09766C6.59522 7 7 6.59522 7 6.09766V1.44922C7 0.951658 6.59522 0.546875 6.09766 0.546875ZM6.5625 6.09766C6.5625 6.35439 6.35439 6.5625 6.09766 6.5625H0.902344C0.645613 6.5625 0.4375 6.35439 0.4375 6.09766V2.47461C0.4375 2.43686 0.468111 2.40625 0.505859 2.40625H6.49414C6.53189 2.40625 6.5625 2.43686 6.5625 2.47461V6.09766Z fill#88949D>/path>/svg>p>Sat Mar 24 2018/p>/div>/div>/div>/a>/main>script src/scripts/footer_3.js defer>/script>style data-emotioncss 1x984xb>.css-1x984xb{padding:30px 50px;max-width:700px;border-top:1px solid var(--grey);margin:0 auto;margin-top:50px;}.css-1x984xb p{text-align:center;color:var(--fontColor);}.css-1x984xb p span{color:var(--primary);}@media (prefers-color-scheme: dark){.css-1x984xb{border-top:1px solid var(--grey-dark);}.css-1x984xb p{color:var(--fontColor-dark);margin-bottom:0.3em;}.css-1x984xb p span{color:var(--primary-dark);}}/style>div classcss-1x984xb>p idpage-loaded-in>/p>div idwcb classcarbonbadge wcb-d>/div>/div>/div>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]