<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="initial-scale=1.0, width=device-width"/><link rel="canonical" href="https://www.blackslate.ioundefined"/><title>Educate and Empower software professionals in emerging technologies, news and best practices.</title><meta name="description" content="Educate and Empower software professionals in emerging technologies, news and best practices."/><meta property="og:type" content="article"/><meta property="og:locale" content="en_US"/><meta property="og:site_name" content="BlackSlate"/><meta property="og:title" content="Educate and Empower software professionals in emerging technologies, news and best practices."/><meta property="og:description" content="Educate and Empower software professionals in emerging technologies, news and best practices."/><meta property="og:keywords" content="open source, open source news"/><meta property="og:url" content="https://www.blackslate.ioundefined"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@blackslate"/><meta name="twitter:creator" content="@blackslate"/><meta name="twitter:image" content="https://www.blackslate.io/assets/imgs/theme/logo.png"/><meta name="twitter:title" content="Educate and Empower software professionals in emerging technologies, news and best practices."/><meta name="twitter:description" content="Educate and Empower software professionals in emerging technologies, news and best practices."/><link rel="icon" type="image/png" href="/assets/imgs/theme/favicon.png"/><meta name="next-head-count" content="19"/><link rel="preload" href="/_next/static/css/8ceb08612a4fc532.css" as="style"/><link rel="stylesheet" href="/_next/static/css/8ceb08612a4fc532.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-dc592b0a5430f83b.js" defer=""></script><script src="/_next/static/chunks/framework-4ed89e9640adfb9e.js" defer=""></script><script src="/_next/static/chunks/main-8c77e03d0fe6d7c3.js" defer=""></script><script src="/_next/static/chunks/pages/_app-b3dc931f8c30fc7a.js" defer=""></script><script src="/_next/static/chunks/75fc9c18-5a55cb0f13134a2c.js" defer=""></script><script src="/_next/static/chunks/8918-dea486a1627db9c0.js" defer=""></script><script src="/_next/static/chunks/4846-3a1cd6ba07998ca3.js" defer=""></script><script src="/_next/static/chunks/4151-3b8b0b9af9e31e65.js" defer=""></script><script src="/_next/static/chunks/3566-f832191f46108eef.js" defer=""></script><script src="/_next/static/chunks/2093-ebd1b8bad9e3461f.js" defer=""></script><script src="/_next/static/chunks/4266-8634b651cf34470f.js" defer=""></script><script src="/_next/static/chunks/8033-a1127c12264da84d.js" defer=""></script><script src="/_next/static/chunks/4557-2c37231a0834d5c1.js" defer=""></script><script src="/_next/static/chunks/pages/index-695fa38040732ea1.js" defer=""></script><script src="/_next/static/1.0.0/_buildManifest.js" defer=""></script><script src="/_next/static/1.0.0/_ssgManifest.js" defer=""></script></head><body><div id="__next"><header class="main-header header-style-1 font-heading"><div class="header-top"><div class="container"><div class="row pt-20 pb-20"><div class="col-md-3 col-xs-6"><a href="/"><img class="logo" src="/assets/imgs/theme/logo.png" height="100" alt=""/></a><link href="/assets/prism/prism.css" rel="stylesheet"/><script src="/assets/prism/prism.js" type="text/javascript"></script></div><div class="col-md-8"><div class="adsbyvli" style="width:728px;height:90px;display:inline-block" data-ad-slot="pw_16228"></div></div></div></div></div><div class="header-sticky"><div class="container align-self-center position-relative"><div class="main-nav float-left "><nav><ul class="main-menu d-none d-lg-inline font-weight-900"><li><a href="/">Home</a></li><li><a href="/articles">Articles</a></li><li><a href="/tech-stack">Tech Stack</a></li><li><a href="/news">News</a></li><li><a href="/contact-us">Contact Us</a></li><li> </li><li></li><li></li></ul><div class="d-block d-lg-none"><button><span class="menu-icon mr-10"><span class="menu-icon-inner"></span></span>Main Menu</button><div class="mobilemenu hide"><div><ul class="metismenu text-muted" id="metismenu"><li><a href="/">Home</a></li><li><a href="/articles">Articles</a></li><li><a href="/tech-stack">Tech Stack</a></li><li><a href="/news">News</a></li><li><a href="/contact-us">Contact Us</a></li></ul></div></div></div></nav></div><div class="float-right header-tools text-muted font-small">Connect: <ul class="header-social-network d-inline-block list-inline mr-15"><li class="list-inline-item"><a class="social-icon gh text-xs-center" target="_blank" href="https://github.com/blackslate-samples/"><img src="/assets/imgs/icons/github.svg"/></a></li><li class="list-inline-item"><a class="social-icon tw text-xs-center" target="_blank" href="https://twitter.com/blackslate"><i class="elegant-icon social_twitter "></i></a></li><li class="list-inline-item"><a class="social-icon gh text-xs-center" target="_blank" href="https://discord.gg/wmQAZsdVeJ"><img src="/assets/imgs/icons/discord.png"/></a></li><li class="list-inline-item"><a class="social-icon gh text-xs-center" target="_blank" href="https://t.me/black_slate"><img src="/assets/imgs/icons/telegram.png"/></a></li><li class="list-inline-item"><a class="social-icon rss text-xs-center" target="_blank" href="/rss.xml"><i class="elegant-icon social_rss "></i></a></li></ul></div><div class="clearfix"></div></div></div></header><div class="main-search-form"><div class="container"><div class=" pt-50 pb-50 "><div class="row mb-20"><div class="col-12 align-self-center main-search-form-cover m-auto"><p class="text-center"><span class="search-text-bg">Search</span></p><form class="search-header"><div class="input-group w-100"><input type="text" class="form-control" placeholder="Search stories" value=""/><div class="input-group-append"><button class="btn btn-search bg-white" type="submit"><i class="elegant-icon icon_search"></i></button></div></div></form></div></div><div class="row mt-80 text-center"><div class="col-12 font-small suggested-area"><h5 class="suggested font-heading mb-20 text-muted"> <strong>Suggested keywords:</strong></h5><ul class="list-inline d-inline-block"><li class="list-inline-item">Java</li><li class="list-inline-item">Docker</li><li class="list-inline-item">Git</li><li class="list-inline-item">React</li><li class="list-inline-item">NextJs</li><li class="list-inline-item">Spring boot</li><li class="list-inline-item">Laravel</li></ul></div></div></div></div></div><main><div class="container"><div class="row mt-10"><div class="col-lg-12"><div class="section-header">Articles</div><div class="loop-grid mb-30"><div class="row"><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/articles/how-to-build-x-bot-(twitter-bot)-in-nodejs"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/4nmE3GqOQMLbKr8.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/articles/tag/twitter"><span class="post-tag">twitter</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/articles/how-to-build-x-bot-(twitter-bot)-in-nodejs">How to build X Bot (Twitter Bot) in NodeJS</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 21, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/articles/introduction-to-apache-commons-lang"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/cYbWUYmdr4QrI4n.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/articles/tag/java"><span class="post-tag">java</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/articles/introduction-to-apache-commons-lang">Introduction to Apache Commons Lang</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png" alt=""/><a href="/author/muthu-annamalai"><span class="pl-5 author-name font-weight-bold overflow-hidden">Muthu Annamalai</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 16, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/articles/integrate-google-analytics-in-to-next-js-application"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/oifr3br1uYuaLGk.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/articles/tag/nextjs"><span class="post-tag">nextjs</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/articles/integrate-google-analytics-in-to-next-js-application">Integrate Google Analytics in to Next.js Application</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 15, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/articles/how-to-leverage-google-guava-library-for-efficient-java-development"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/ifmEeAOxnoFODhJ.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/articles/tag/java"><span class="post-tag">java</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/articles/how-to-leverage-google-guava-library-for-efficient-java-development">How to Leverage Google Guava library for efficient Java development</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png" alt=""/><a href="/author/muthu-annamalai"><span class="pl-5 author-name font-weight-bold overflow-hidden">Muthu Annamalai</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 14, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/articles/how-to-streamline-xml-processing-in-java-using-jaxb"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/GgxDrQlZVaaNR9l.jpg)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/articles/tag/java"><span class="post-tag">java</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/articles/how-to-streamline-xml-processing-in-java-using-jaxb">How to Streamline XML processing in Java using JAXB</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png" alt=""/><a href="/author/muthu-annamalai"><span class="pl-5 author-name font-weight-bold overflow-hidden">Muthu Annamalai</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 13, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/articles/build-crud-api-in-golang-using-gofr-framework"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/WcqIcGyOxDKD3AV.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/articles/tag/rest-api"><span class="post-tag">rest-api</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/articles/build-crud-api-in-golang-using-gofr-framework">Build CRUD API in Golang using GoFr Framework</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/profile/01/bzqQzMvh6dYIiaX.jpg" alt=""/><a href="/author/aryan-mehrotra"><span class="pl-5 author-name font-weight-bold overflow-hidden">Aryan Mehrotra</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 10, 2024</span></div></div></div></div></article></div></div></div></div><div class="section-header">Trending Posts</div><div class="row"><div class="col-md-3"><div class="border-radius-10 hover-up"><div class="d-flex"><h5 class="topic-title ml-10 mt-20 font-weight-900"><a href="/articles/tag/caching">caching</a></h5></div><hr class="underline"/><li class="ml-10"><h6><a href="/articles/integrate-ehcache-with-spring-boot">Integrate Ehcache with Spring Boot</a><hr/></h6></li><li class="ml-10"><h6><a href="/articles/caching-in-java-using-caffeine">Caching in Java using Caffeine</a><hr/></h6></li></div></div><div class="col-md-3"><div class="border-radius-10 hover-up"><div class="d-flex"><h5 class="topic-title ml-10 mt-20 font-weight-900"><a href="/articles/tag/chart-js">chart js</a></h5></div><hr class="underline"/><li class="ml-10"><h6><a href="/articles/chartjs-visualization-library-a-detailed-walkthrough">ChartJs Visualization Library - A Detailed Walkthrough</a><hr/></h6></li><li class="ml-10"><h6><a href="/articles/create-basic-charts-with-chart-js">Create Basic Charts with ChartJS</a><hr/></h6></li></div></div><div class="col-md-3"><div class="border-radius-10 hover-up"><div class="d-flex"><h5 class="topic-title ml-10 mt-20 font-weight-900"><a href="/articles/tag/chat">chat</a></h5></div><hr class="underline"/><li class="ml-10"><h6><a href="/articles/tawk-chat-widget">Guide to Setup Tawk - Free Chat Widget</a><hr/></h6></li><li class="ml-10"><h6><a href="/articles/live-chat-with-sveltekit-and-socket-io">Live-Chat with SvelteKit and SocketIO</a><hr/></h6></li><li class="ml-10"><h6><a href="/articles/real-time-communication-with-nodejs-express-websockets">Real-Time Communication with Node.js, Express, and WebSockets</a><hr/></h6></li></div></div><div class="col-md-3"><div class="border-radius-10 hover-up"><div class="d-flex"><h5 class="topic-title ml-10 mt-20 font-weight-900"><a href="/articles/tag/cli">cli</a></h5></div><hr class="underline"/><li class="ml-10"><h6><a href="/articles/introduction-to-spring-shell">Introduction to Spring Shell</a><hr/></h6></li><li class="ml-10"><h6><a href="/articles/fd-fast-and-user-friendly-alternative-to-find">fd - A simple, fast and user-friendly alternative to find</a><hr/></h6></li></div></div></div><div class="row"><div class="col-lg-12"><div class="section-header">Tech Stack</div><div class="loop-grid mb-30"><div class="row"><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/tech-stack/uber-technology-stack"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/xmFJibYFTRgCyuW.jpg)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/tech-stack/tag/tech-stack"><span class="post-tag">tech-stack</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/tech-stack/uber-technology-stack">Uber&#x27;s open source technology stack</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Dec 2, 2017</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/tech-stack/stackoverflow-technology-stack"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/EtkrAvpWNwJUMIu.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/tech-stack/tag/tech-stack"><span class="post-tag">tech-stack</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/tech-stack/stackoverflow-technology-stack">Stackoverflow Open Source Technology Stack</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Sep 15, 2017</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/tech-stack/whatsapp-technology-stack"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/ydpa13xq1XcEGl2.jpg)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/tech-stack/tag/tech-stack"><span class="post-tag">tech-stack</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/tech-stack/whatsapp-technology-stack">Open Source Technology Stack used in WhatsApp</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Sep 15, 2017</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/tech-stack/tools-to-build-openjdk"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/6ZQPOR8pPqoOOyr.jpg)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/tech-stack/tag/tech-stack"><span class="post-tag">tech-stack</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/tech-stack/tools-to-build-openjdk">Free and Open source tools to build OpenJDK in Windows</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Sep 15, 2017</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/tech-stack/opentaps-stack"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/YTS6K5eOJNWOkpD.jpg)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/tech-stack/tag/tech-stack"><span class="post-tag">tech-stack</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/tech-stack/opentaps-stack">Open Source Technology Stack used in Opentaps ERP</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Sep 15, 2017</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/tech-stack/zimbra-stack"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/MttbYd1esEu8v30.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/tech-stack/tag/tech-stack"><span class="post-tag">tech-stack</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/tech-stack/zimbra-stack">Zimbra - Enterprise Email Server Stack</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Sep 15, 2017</span></div></div></div></div></article></div></div></div></div><div class="row"><div class="col-lg-12"><div class="section-header">News</div><div class="loop-grid mb-30"><div class="row"><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/news/systemd-plans-to-replace-sudo-with-run0"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/JGB3xIVmy59J4Nu.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/news/tag/linux"><span class="post-tag">linux</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/news/systemd-plans-to-replace-sudo-with-run0">Systemd plans to replace sudo with run0</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 8, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/news/fastapi-adds-cli-support-in-0-111-0-release"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/ogigEr2r4PV91h3.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/news/tag/fast-api"><span class="post-tag">fast-api</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/news/fastapi-adds-cli-support-in-0-111-0-release">FastAPI adds CLI support in 0.111.0 release</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">May 3, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/news/microsoft-and-ibm-released-ms-dos-4-0-source-code"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/muLOIwBp9QKAhl4.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/news/tag/microsoft"><span class="post-tag">microsoft</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/news/microsoft-and-ibm-released-ms-dos-4-0-source-code">Microsoft and IBM released MS DOS 4.0 source code</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Apr 29, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/news/ibm-acquires-hashicorp"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/nZ6jRqEo7IKLyZY.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/news/tag/ibm"><span class="post-tag">ibm</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/news/ibm-acquires-hashicorp">IBM Acquires HashiCorp for $6.4 billion</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Apr 26, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/news/commonhaus-foundation-a-forever-home-for-open-source-projects"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/ReM22eo5y2VCoPe.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/news/tag/foundation"><span class="post-tag">foundation</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/news/commonhaus-foundation-a-forever-home-for-open-source-projects">Commonhaus Foundation - A forever home for open source projects</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Apr 23, 2024</span></div></div></div></div></article><article class="col-lg-4 col-md-6 mb-30"><div class="post-card-1 border-radius-10 hover-up"><a href="/news/elastic-announced-alpha-release-for-dotnet-opentelemetry-sdk"><div class="post-thumb thumb-overlay1 img-hover-slide position-relative" style="background-image:url(https://assets.blackslate.io/posts/01/vyp9V8QpR62uXGt.png)"></div></a><div class="post-content p-30"><div class="entry-meta meta-0 font-small mb-10"><a href="/news/tag/elastic"><span class="post-tag">elastic</span></a></div><div class="d-flex post-card-content"><h5 class="post-title mb-20 font-weight-900"><a href="/news/elastic-announced-alpha-release-for-dotnet-opentelemetry-sdk">Elastic announced Alpha Release for .NET OpenTelemetry SDK</a></h5><p class="mb-2"><img class="img-circle-author" src="https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png" alt=""/><a href="/author/admin"><span class="pl-5 author-name font-weight-bold overflow-hidden">Editorial Team</span></a></p><div class="entry-meta meta-1 float-left font-x-small text-uppercase"><span class="post-on">Apr 18, 2024</span></div></div></div></div></article></div></div></div></div></div></main><footer class="pt-50 pb-20 bg-grey"><div class="container"><div class="row"><div class="col-lg-3 col-md-6"><div class="sidebar-widget wow fadeInUp animated mb-30"><div class="widget-header-2 position-relative mb-30"><h5 class="mt-5 mb-30">Black Slate</h5></div><div class="textwidget"><p>Educate and Empower software professionals in emerging technologies, news and best practices.</p><p><strong class="color-black">Follow us</strong></p><br/><ul class="header-social-network d-inline-block list-inline mr-15"><li class="list-inline-item"><a class="social-icon gh text-xs-center" target="_blank" href="https://github.com/blackslate-samples/"><img src="/assets/imgs/icons/github.svg"/></a></li><li class="list-inline-item"><a class="social-icon tw text-xs-center" target="_blank" href="https://twitter.com/blackslate"><i class="elegant-icon social_twitter "></i></a></li><li class="list-inline-item"><a class="social-icon gh text-xs-center" target="_blank" href="https://discord.gg/wmQAZsdVeJ"><img src="/assets/imgs/icons/discord.png"/></a></li><li class="list-inline-item"><a class="social-icon gh text-xs-center" target="_blank" href="https://t.me/black_slate"><img src="/assets/imgs/icons/telegram.png"/></a></li><li class="list-inline-item"><a class="social-icon rss text-xs-center" target="_blank" href="/rss.xml"><i class="elegant-icon social_rss "></i></a></li></ul></div></div></div><div class="col-lg-2 col-md-6"><div class="sidebar-widget widget_categories wow fadeInUp animated mb-30" data-wow-delay="0.1s"><div class="widget-header-2 position-relative mb-30"><h5 class="mt-5 mb-30">Quick link</h5></div><ul class="font-small"><li class="cat-item cat-item-2"><a href="/about-us">About US</a></li><li class="cat-item cat-item-4"><a href="/terms-and-conditions">Terms and Conditions</a></li><li class="cat-item cat-item-5"><a href="/privacy-policy">Privacy Policy</a></li><li class="cat-item cat-item-6"><a href="/write-for-us">Write For Us</a></li><li class="cat-item cat-item-7"><a href="/contact-us">Contact</a></li></ul></div></div><div class="col-lg-4 col-md-6"><div class="sidebar-widget widget_newsletter mb-30" data-wow-delay="0.3s"><div class="widget-header-2 position-relative mb-30"><h5 class="mt-5 mb-30">Newsletter</h5></div><div class="newsletter"><p class="font-medium">Subscribe to our newsletter and get our newest updates right on your inbox.</p><form class="input-group form-subcriber mt-30 d-flex"><input type="email" class="form-control bg-white font-small" placeholder="Enter your email" value=""/><button class="btn bg-primary text-white" type="button">Subscribe</button></form></div></div></div></div><div class="footer-copy-right pt-30 mt-20 wow fadeInUp animated"><p class="float-md-left font-small text-muted">© 2023 BlackSlate <!-- --> </p><p class="float-md-right font-small text-muted">License: Creative Commons BY-NC</p></div></div></footer><div class="dark-mark"></div><div style="position:fixed;bottom:50px;right:30px;cursor:pointer;transition-duration:0.2s;transition-timing-function:linear;transition-delay:0s;opacity:0;visibility:hidden;transition-property:opacity, visibility"><a id="scrollUp" style="display:block"><i class="elegant-icon arrow_up"></i></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"articles":[{"id":"664b0b25682e0a604d5da9fd","slug":"how-to-build-x-bot-(twitter-bot)-in-nodejs","title":"How to build X Bot (Twitter Bot) in NodeJS","imageUrl":"https://assets.blackslate.io/posts/01/4nmE3GqOQMLbKr8.png","description":"How to build X Bot (Twitter Bot) in NodeJS","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["twitter","nodejs","javascript","x-bot","twitter-bot","oauth"],"updatedAt":"2024-05-21T07:55:19","publishedAt":"2024-05-21T07:56:12"},{"id":"6624143369fdeb24c989f506","slug":"introduction-to-apache-commons-lang","title":"Introduction to Apache Commons Lang","imageUrl":"https://assets.blackslate.io/posts/01/cYbWUYmdr4QrI4n.png","description":"In this article we will explore about Apache Commons library in Java","author":{"id":"64525a3c874b760f6a0c52fd","createdAt":"2023-05-03T18:27:32","updatedAt":"2023-05-03T18:27:32","slug":"muthu-annamalai","name":"Muthu Annamalai","description":"Technical Writer | Pre-Final Year Student | Code \u0026 Community | Developer who works everyday to improve himself.","profileImage":"https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://www.linkedin.com/in/muthu-annamalai/","https://github.com/muthuannamalai12"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["java","apache-commons","commons-lang","utility-functions"],"updatedAt":"2024-05-16T07:27:59","publishedAt":"2024-05-16T07:28:45"},{"id":"66445c2ffb8e4158374f4c2c","slug":"integrate-google-analytics-in-to-next-js-application","title":"Integrate Google Analytics in to Next.js Application","imageUrl":"https://assets.blackslate.io/posts/01/oifr3br1uYuaLGk.png","description":"Integrate Google Analytics in to Next.js Application","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["nextjs","next-js","google-analytics","react-component"],"updatedAt":"2024-05-15T07:28:01","publishedAt":"2024-05-15T07:28:23"},{"id":"662415af69fdeb24c989f507","slug":"how-to-leverage-google-guava-library-for-efficient-java-development","title":"How to Leverage Google Guava library for efficient Java development","imageUrl":"https://assets.blackslate.io/posts/01/ifmEeAOxnoFODhJ.png","description":"In this article we will explore about Google Guava library ","author":{"id":"64525a3c874b760f6a0c52fd","createdAt":"2023-05-03T18:27:32","updatedAt":"2023-05-03T18:27:32","slug":"muthu-annamalai","name":"Muthu Annamalai","description":"Technical Writer | Pre-Final Year Student | Code \u0026 Community | Developer who works everyday to improve himself.","profileImage":"https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://www.linkedin.com/in/muthu-annamalai/","https://github.com/muthuannamalai12"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["java","google-guava","utility-functions"],"updatedAt":"2024-05-14T09:21:57","publishedAt":"2024-05-14T09:22:04"},{"id":"66240ffb69fdeb24c989f504","slug":"how-to-streamline-xml-processing-in-java-using-jaxb","title":"How to Streamline XML processing in Java using JAXB","imageUrl":"https://assets.blackslate.io/posts/01/GgxDrQlZVaaNR9l.jpg","description":"In this article we will explore about XML processing with JAXB","author":{"id":"64525a3c874b760f6a0c52fd","createdAt":"2023-05-03T18:27:32","updatedAt":"2023-05-03T18:27:32","slug":"muthu-annamalai","name":"Muthu Annamalai","description":"Technical Writer | Pre-Final Year Student | Code \u0026 Community | Developer who works everyday to improve himself.","profileImage":"https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://www.linkedin.com/in/muthu-annamalai/","https://github.com/muthuannamalai12"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["java","xml","jaxb","eclipse"],"updatedAt":"2024-05-13T07:36:39","publishedAt":"2024-05-13T07:36:42"},{"id":"663cb66bfb8e4158374f4c22","slug":"build-crud-api-in-golang-using-gofr-framework","title":"Build CRUD API in Golang using GoFr Framework","imageUrl":"https://assets.blackslate.io/posts/01/WcqIcGyOxDKD3AV.png","description":"Build CRUD API in Golang using GoFr Framework","author":{"id":"663dba6afb8e4158374f4c23","createdAt":"2024-05-10T06:10:50","updatedAt":"2024-05-10T06:10:50","slug":"aryan-mehrotra","name":"Aryan Mehrotra","description":"I am Golang Developer, have worked on some huge distributed systems, currently maintaining an opensource framework GoFr!","profileImage":"https://assets.blackslate.io/profile/01/bzqQzMvh6dYIiaX.jpg","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://github.com/aryanmehrotra"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["rest-api","golang","gofr-dev"],"updatedAt":"2024-05-10T06:26:34","publishedAt":"2024-05-10T06:26:43"}],"techStack":[{"id":"645b6b386f91c718701fbb36","slug":"uber-technology-stack","title":"Uber's open source technology stack","imageUrl":"https://assets.blackslate.io/posts/01/xmFJibYFTRgCyuW.jpg","description":"Uber, a taxi aggregation platform operates around the globe. It was started as monolith application and later re-architected as bunch of microservices, which gives them scalability. Uber uses lot of open source tools and they have contributed quite a lot projects back to the community. This article is about analyzing Uber's open source technology stack.","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd5","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"tech-stack","name":"Tech Stack"},"status":"published","tags":["tech-stack","uber","open-source","stack","technology-stack"],"updatedAt":"2017-12-02T23:08:17","publishedAt":"2017-12-02T23:08:17"},{"id":"645b6b366f91c718701fbb32","slug":"stackoverflow-technology-stack","title":"Stackoverflow Open Source Technology Stack","imageUrl":"https://assets.blackslate.io/posts/01/EtkrAvpWNwJUMIu.png","description":"Stackoverflow is one of most widely used Q\u0026A platform. It is the default choice of developers. It has over 100 million page views in a month and its Google page rank is 60. Check out its open source technology stack, the tools used to build such a popular website. Stackoverflow uses open source projects and also contributes to it.","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd5","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"tech-stack","name":"Tech Stack"},"status":"published","tags":["tech-stack","stack","software-used","stackoverflow-architecture","stackoverflow-stack"],"updatedAt":"2017-09-15T14:28:38","publishedAt":"2017-09-15T14:28:38"},{"id":"645b6b376f91c718701fbb34","slug":"whatsapp-technology-stack","title":"Open Source Technology Stack used in WhatsApp","imageUrl":"https://assets.blackslate.io/posts/01/ydpa13xq1XcEGl2.jpg","description":"WhatsApp is a most widely used cross-platform mobile messaging app for iPhone, BlackBerry, Android, Windows Phone and Nokia. Users can send text, images videos, audio for free. It almost replaced SMS. It changed the way people interact with each other. Lets check out the technology behind WhatsApp","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd5","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"tech-stack","name":"Tech Stack"},"status":"published","tags":["tech-stack","whatsapp","chat","messaging-app"],"updatedAt":"2017-09-15T14:28:38","publishedAt":"2017-09-15T14:28:38"},{"id":"645b6b366f91c718701fbb30","slug":"tools-to-build-openjdk","title":"Free and Open source tools to build OpenJDK in Windows","imageUrl":"https://assets.blackslate.io/posts/01/6ZQPOR8pPqoOOyr.jpg","description":"OpenJDK is the open source implementation of Java Standard Edition. Oracle (Sun) JDK implementation is going to be based on OpenJDK. OpenJDK and Oracle JDK are almost similar. There are ready made binaries available for Linux distribution but you may need to build OpenJDK on windows.","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd5","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"tech-stack","name":"Tech Stack"},"status":"published","tags":["tech-stack","java","openjdk","build-tools"],"updatedAt":"2017-09-15T14:27:38","publishedAt":"2017-09-15T14:27:38"},{"id":"645b6b356f91c718701fbb2c","slug":"opentaps-stack","title":"Open Source Technology Stack used in Opentaps ERP","imageUrl":"https://assets.blackslate.io/posts/01/YTS6K5eOJNWOkpD.jpg","description":"opentaps Open Source ERP + CRM, is a fully integrated application suite that supports eCommerce, Customer Relationship Management, Warehouse and Inventory Management, Supply Chain Management, and Financial Management to Business Intelligence and mobility integration out-of-the-box. This article discusses about the open source software used to build Opentaps ERP.","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd5","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"tech-stack","name":"Tech Stack"},"status":"published","tags":["tech-stack","erp","stack","opentaps"],"updatedAt":"2017-09-15T14:26:38","publishedAt":"2017-09-15T14:26:38"},{"id":"645b6b356f91c718701fbb2e","slug":"zimbra-stack","title":"Zimbra - Enterprise Email Server Stack","imageUrl":"https://assets.blackslate.io/posts/01/MttbYd1esEu8v30.png","description":"Zimbra is a Enterprise messaging and collaboration software. It is a good alternative to Microsoft Exchange server. Zimbra is a Email Server but they have not written anything related to SMTP server, rather they have integrated well know open source email server in to its package. Zimbra is a system of well connected / integrated multiple open source software which delivers enterprise quality to it. This article explains most important components which helps to build the enterprise product.","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd5","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"tech-stack","name":"Tech Stack"},"status":"published","tags":["tech-stack","software-used","stack","mail-server"],"updatedAt":"2017-09-15T14:26:38","publishedAt":"2017-09-15T14:26:38"}],"news":[{"id":"663b1f57fb8e4158374f4c1c","slug":"systemd-plans-to-replace-sudo-with-run0","title":"Systemd plans to replace sudo with run0","imageUrl":"https://assets.blackslate.io/posts/01/JGB3xIVmy59J4Nu.png","description":"Systemd plans to replace sudo with run0","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd4","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"news","name":"News"},"status":"published","tags":["linux","systemd"],"updatedAt":"2024-05-08T06:54:19","publishedAt":"2024-05-08T06:54:58"},{"id":"6634d8e85af7175e5f6417fa","slug":"fastapi-adds-cli-support-in-0-111-0-release","title":"FastAPI adds CLI support in 0.111.0 release","imageUrl":"https://assets.blackslate.io/posts/01/ogigEr2r4PV91h3.png","description":"FastAPI adds CLI support in 0.111.0 release","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd4","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"news","name":"News"},"status":"published","tags":["fast-api","python","cli"],"updatedAt":"2024-05-03T12:36:59","publishedAt":"2024-05-03T12:37:41"},{"id":"662f8d135af7175e5f6417f1","slug":"microsoft-and-ibm-released-ms-dos-4-0-source-code","title":"Microsoft and IBM released MS DOS 4.0 source code","imageUrl":"https://assets.blackslate.io/posts/01/muLOIwBp9QKAhl4.png","description":"Microsoft and IBM released MS DOS 4.0 source code","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd4","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"news","name":"News"},"status":"published","tags":["microsoft","ibm","ms-dos"],"updatedAt":"2024-04-29T12:32:27","publishedAt":"2024-04-29T12:32:28"},{"id":"662b72855af7175e5f6417e8","slug":"ibm-acquires-hashicorp","title":"IBM Acquires HashiCorp for $6.4 billion","imageUrl":"https://assets.blackslate.io/posts/01/nZ6jRqEo7IKLyZY.png","description":"IBM Acquires HashiCorp for $6.4 billion","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd4","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"news","name":"News"},"status":"published","tags":["ibm","hashicorp","acquisition","automation"],"updatedAt":"2024-04-26T10:02:14","publishedAt":"2024-04-26T10:02:35"},{"id":"6627eae25af7175e5f6417df","slug":"commonhaus-foundation-a-forever-home-for-open-source-projects","title":"Commonhaus Foundation - A forever home for open source projects","imageUrl":"https://assets.blackslate.io/posts/01/ReM22eo5y2VCoPe.png","description":"Commonhaus Foundation - A forever home for open source projects","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd4","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"news","name":"News"},"status":"published","tags":["foundation","commonhaus"],"updatedAt":"2024-04-23T17:20:51","publishedAt":"2024-04-23T17:21:46"},{"id":"6621086b69fdeb24c989f4f8","slug":"elastic-announced-alpha-release-for-dotnet-opentelemetry-sdk","title":"Elastic announced Alpha Release for .NET OpenTelemetry SDK","imageUrl":"https://assets.blackslate.io/posts/01/vyp9V8QpR62uXGt.png","description":"Elastic announced Alpha Release for .NET OpenTelemetry SDK","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd4","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"news","name":"News"},"status":"published","tags":["elastic","open-telementry","product-release"],"updatedAt":"2024-04-18T12:08:29","publishedAt":"2024-04-18T12:09:19"}],"topicSummary":[{"topic":"caching","articles":[{"id":"660555d869fdeb24c989f4cf","slug":"integrate-ehcache-with-spring-boot","title":"Integrate Ehcache with Spring Boot","imageUrl":"https://assets.blackslate.io/posts/01/Y1xBLkPAOYImec2.png","description":"Integrate Ehcache with Spring Boot. In this article, we will explore how to implement Ehcache with Spring Boot, including setup and a simple example.","author":{"id":"64525a3c874b760f6a0c52fd","createdAt":"2023-05-03T18:27:32","updatedAt":"2023-05-03T18:27:32","slug":"muthu-annamalai","name":"Muthu Annamalai","description":"Technical Writer | Pre-Final Year Student | Code \u0026 Community | Developer who works everyday to improve himself.","profileImage":"https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://www.linkedin.com/in/muthu-annamalai/","https://github.com/muthuannamalai12"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["java","cache","caching","ehcache"],"updatedAt":"2024-03-28T12:00:51","publishedAt":"2024-03-28T12:01:25"},{"id":"6486c1ee73a84d6b2a6d5661","slug":"caching-in-java-using-caffeine","title":"Caching in Java using Caffeine","imageUrl":"https://assets.blackslate.io/projects/01/1rjzE6PKssDS1rv.png","description":"Caching in Java using Caffeine","author":{"id":"64525a1b874b760f6a0c52e9","createdAt":"2023-05-03T18:26:32","updatedAt":"2023-06-13T05:06:13","slug":"admin","name":"Editorial Team","description":"This article is published by our editorial team.","profileImage":"https://assets.blackslate.io/posts/01/A8KlhtWlsjDSoZn.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/blackslate"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["cache","caching","java-cache","caffeine"],"updatedAt":"2023-06-12T08:44:57","publishedAt":"2023-06-12T08:45:38"}]},{"topic":"chart-js","articles":[{"id":"65e3322269fdeb24c989f4ac","slug":"chartjs-visualization-library-a-detailed-walkthrough","title":"ChartJs Visualization Library - A Detailed Walkthrough","imageUrl":"https://assets.blackslate.io/posts/01/mqE4UGFJoHSy2lE.png","description":"In this article, we will learn about how to create Bar Chart, Area Chart, Bubble Chart, Doughnut and Pie Charts, Line Chart, Mixed Chart Types, Polar Area Chart, Radar Chart, Scatter Chart, Cartesian Axes, Category Axis, Logarithmic Axis, Radial Axes, Labeling Axes, Styling using ChartJS.","author":{"id":"64525a3d874b760f6a0c52fe","createdAt":"2023-05-03T18:27:33","updatedAt":"2023-05-03T18:27:33","slug":"devgroves","name":"DevGroves Technologies","description":"DevGroves Technologies is a IT consulting and services start-up company which is predominately to web technologies catering to static website, workflow based CRM websites, e-commerce websites and  reporting websites tailoring to the customer needs. We also support  open source community by writing blogs about how, why and where it need to be used for.","profileImage":"https://assets.blackslate.io/profile/01/lfLgOqDLN6io43P.jpg","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://devgroves.vercel.app/"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["chart-js","charts","visualization","javascript","nodejs"],"updatedAt":"2024-03-14T08:03:37","publishedAt":"2024-03-14T07:59:26"},{"id":"64ec275b8debeb76c7c4f21e","slug":"create-basic-charts-with-chart-js","title":"Create Basic Charts with ChartJS","imageUrl":"https://assets.blackslate.io/posts/01/HrHkkRMpIZAzpcE.png","description":"In the world of data visualization, charts play a pivotal role in conveying information in a visually appealing and easily understandable manner. Charting libraries simplify the process of creating various types of charts, enabling developers to showcase data trends, comparisons, and distributions effectively. ","author":{"id":"64a3b4c77c09ce54d5728b0c","createdAt":"2023-07-04T05:57:27","updatedAt":"2023-07-04T05:59:42","slug":"nikhil-mishra","name":"Nikhil Mishra","description":"Hi there! I'm learning full-stack web development and I document my journey through blogs and technical articles. I'm passionate about building web applications from the ground up and enjoy exploring all the different technologies involved in the process.","profileImage":"https://assets.blackslate.io/profile/01/VZoA0eJCNZ51XTB.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/nikktwts"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["charts","chart-js","visualization","javascript","nodejs"],"updatedAt":"2024-03-06T12:45:01","publishedAt":"2023-08-28T05:09:47"}]},{"topic":"chat","articles":[{"id":"657f0b7f3c01d95a07b6cd58","slug":"tawk-chat-widget","title":"Guide to Setup Tawk - Free Chat Widget","imageUrl":"https://assets.blackslate.io/posts/01/22Q8VfrnzstlyBR.png","description":"Quick Guide to design the chat and deploy in your website. Also explore options for deploying it. ","author":{"id":"64525a3d874b760f6a0c52fe","createdAt":"2023-05-03T18:27:33","updatedAt":"2023-05-03T18:27:33","slug":"devgroves","name":"DevGroves Technologies","description":"DevGroves Technologies is a IT consulting and services start-up company which is predominately to web technologies catering to static website, workflow based CRM websites, e-commerce websites and  reporting websites tailoring to the customer needs. We also support  open source community by writing blogs about how, why and where it need to be used for.","profileImage":"https://assets.blackslate.io/profile/01/lfLgOqDLN6io43P.jpg","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://devgroves.vercel.app/"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["tawk","chat","chat-widget","free-chat"],"updatedAt":"2024-01-24T08:57:49","publishedAt":"2024-01-24T08:58:19"},{"id":"64d1d7fb8debeb76c7c4f206","slug":"live-chat-with-sveltekit-and-socket-io","title":"Live-Chat with SvelteKit and SocketIO","imageUrl":"https://assets.blackslate.io/posts/01/chcjcLRQnUUi7tQ.png","description":"Live-Chat with SvelteKit and SocketIO","author":{"id":"64d1df008debeb76c7c4f207","createdAt":"2023-08-08T06:21:52","updatedAt":"2023-08-08T06:21:52","slug":"mohammad-shaad-shaikh","name":"Mohammad Shaad Shaikh","description":"As a fullstack web developer, UI/UX designer, and avid open source contributor, I've spent countless hours tinkering with code, perfecting designs, and pushing the limits of what's possible on the web. When I'm not busy creating visually stunning and intuitive interfaces, you can find me diving into the world of cloud and DevOps, or using my video editing skills to craft compelling stories. All in all, I'm a tech enthusiast with a passion for constantly learning and improving my skills","profileImage":"https://assets.blackslate.io/profile/01/isCugmMwQeZzPHp.jpg","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://www.linkedin.com/in/mohammad-shaad-shaikh","https://github.com/mohammadshaad","https://twitter.com/MohammadShaadsk"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["svelte-kit","socket-io","nodejs","chat"],"updatedAt":"2023-08-08T06:24:42","publishedAt":"2023-08-08T06:24:54"},{"id":"64d1cec28debeb76c7c4f203","slug":"real-time-communication-with-nodejs-express-websockets","title":"Real-Time Communication with Node.js, Express, and WebSockets","imageUrl":"https://assets.blackslate.io/posts/01/TTxZe6kxKw2xxiz.jpg","description":"Real-Time Communication with Node.js, Express, and WebSockets","author":{"id":"64a3b4c77c09ce54d5728b0c","createdAt":"2023-07-04T05:57:27","updatedAt":"2023-07-04T05:59:42","slug":"nikhil-mishra","name":"Nikhil Mishra","description":"Hi there! I'm learning full-stack web development and I document my journey through blogs and technical articles. I'm passionate about building web applications from the ground up and enjoy exploring all the different technologies involved in the process.","profileImage":"https://assets.blackslate.io/profile/01/VZoA0eJCNZ51XTB.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://twitter.com/nikktwts"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["websockets","nodejs","expressjs","chat"],"updatedAt":"2023-08-08T05:36:14","publishedAt":"2023-08-08T05:36:53"}]},{"topic":"cli","articles":[{"id":"660e526669fdeb24c989f4dc","slug":"introduction-to-spring-shell","title":"Introduction to Spring Shell","imageUrl":"https://assets.blackslate.io/posts/01/u8dWEEPv3qa9wwg.png","description":"Introduction to Spring Shell","author":{"id":"64525a3c874b760f6a0c52fd","createdAt":"2023-05-03T18:27:32","updatedAt":"2023-05-03T18:27:32","slug":"muthu-annamalai","name":"Muthu Annamalai","description":"Technical Writer | Pre-Final Year Student | Code \u0026 Community | Developer who works everyday to improve himself.","profileImage":"https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://www.linkedin.com/in/muthu-annamalai/","https://github.com/muthuannamalai12"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["spring-shell","spring-boot","spring","cli","java"],"updatedAt":"2024-04-09T08:46:46","publishedAt":"2024-04-04T09:05:24"},{"id":"645b6afc6f91c718701fbafa","slug":"fd-fast-and-user-friendly-alternative-to-find","title":"fd - A simple, fast and user-friendly alternative to find","imageUrl":"https://assets.blackslate.io/posts/01/EzsB6qQyNY5emNb.png","description":"fd is a fast, simple, and user-friendly tool that simply performs faster than find. It isn't meant to be a replacement for find, but rather a slightly faster alternative that is easier to use. Let us explore fd command completely in this article.","author":{"id":"64525a3c874b760f6a0c52fd","createdAt":"2023-05-03T18:27:32","updatedAt":"2023-05-03T18:27:32","slug":"muthu-annamalai","name":"Muthu Annamalai","description":"Technical Writer | Pre-Final Year Student | Code \u0026 Community | Developer who works everyday to improve himself.","profileImage":"https://assets.blackslate.io/profile/01/KSD3yzBVsLWgpLT.png","emailId":null,"mobile":null,"cost":0,"socialLinks":["https://www.linkedin.com/in/muthu-annamalai/","https://github.com/muthuannamalai12"]},"category":{"id":"645258ed92d4e5749f76ebd3","createdAt":"2023-05-03T18:21:57","updatedAt":"2023-05-03T18:21:57","slug":"articles","name":"Articles"},"status":"published","tags":["find","command-line","cli","rust"],"updatedAt":"2022-03-01T20:54:40","publishedAt":"2022-03-01T20:54:40"}]}],"pageProps":{"title":"Educate and Empower software professionals in emerging technologies, news and best practices.","description":"Educate and Empower software professionals in emerging technologies, news and best practices.","url":"https://www.blackslate.ioundefined","imageUrl":"https://www.blackslate.io/assets/imgs/theme/logo.png","keywords":"open source, open source news"}},"__N_SSP":true},"page":"/","query":{},"buildId":"1.0.0","isFallback":false,"gssp":true,"scriptLoader":[]}</script></body></html>