From AWS to DIY: Building a Cost-Effective πŸ’Έ Home Server with Ubuntu Server, Docker, Portainer & Nginx on a High-Performance Mini PC! πŸš€

As a software engineer, I’ve relied on AWS for cloud computing for some time, but the rising costs finally pushed me to rethink things πŸ’Έ. During Black Friday, I jumped on a deal I couldn’t resist πŸŽ‰ and built a home setup around a GMKtec mini PC with an AMD Ryzen 7 8845HS, paired with 2 x 48GB of DDR5 5600MHz Crucial RAM and two 4TB Samsung 990 PRO PCIe 4.0 NVMe M.2 SSDs. The whole setup cost me €1,100 (about $1,200 USD) and runs at only 35W βš‘β€”that’s roughly €4.30 ($4.60 USD) a month in electricity here in France πŸ‡«πŸ‡·. Compare that to the $517 per month I’d pay to run an AWS EC2 m8g.4xlarge instance. Now, I’ve got 16 CPUs (8 cores, 16 threads) πŸ’», 96GB of speedy RAM βš™οΈ, and 8TB of PCIe 4.0 NVMe storage πŸ’Ύ for demanding workloads. It’s a massive money-saver πŸ’° and the perfect base for a home lab running Ubuntu Server 🐧. Tools like Portainer make container management easy πŸ› οΈ, and Nginx Proxy Manager simplifies reverse proxy configurations πŸ”„. If cloud costs are draining your budget, making the switch is well worth it πŸš€!

Mastering Spark on K8s πŸ”₯ and Why I Dumped πŸ’” Kubeflow Spark Operator (Formerly Google's Spark Operator)!

Heyoooo Spark ⚑ developers! My product manager several months ago asked me one question: "Is it possible to run Spark applications without K8s 🐳 cluster-level access?" At the time, I only knew the Kubeflow πŸ”§ Spark Operator well and was using it for deploying all my Spark applications. For those who know, you must have K8s cluster-level access to use the Kubeflow Spark Operator. The reasons are because it installs CRDs and ClusterRole. So I told him "no" with these reasons, and on his side, he tried his best to convince the prospect with the constraint in mind. At the enterprise level, they usually have a multi-tenant K8s cluster segregated by company/department, project, and environment (dev, uat, pre-prod, or prod) using Namespaces. This way, they make the most of the computing resources allocated. Plus, if one project does not meet the expectation or the contract ends, hop hop kubectl delete <compordept>-<project>-<env> and it's like the project has never existed. I am currently writing to tell my product manager, "Yes, it's possible to run Spark applications without K8s cluster-level access."! Here is how! πŸš€

Introducing TARP Stack β›Ί – Tapir, React and PostgreSQL

I landed my first job as a Data Engineer using Scala. It's been over 3 years now, approaching 4 years. The more experience you gain, the more you want to spread your wings πŸͺ½ to tackle even bigger and more complex projects than just data pipelines, like developing full-stack web data applications. But, I really do not want to dissipate myself too much on all the programming languages, libraries, or frameworks out there 😣. These are just tools. What's important is how efficiently you can use them for the product or feature you envisioned πŸ¦„πŸŒˆ. Sooo! For me, it's currently the TARP tech stack!

Image Super-Resolution: DAT (Dual Aggregation Transformer) the new goat for Pythonistas? 🐍

As a Python aficionado, I sought to leverage my programming acumen to enhance cherished images. Armed with the powerful Pillow library, I embarked on this mission, only to be met with disappointment πŸ˜‘ when the results from the conventional resize method yielded subpar quality – a far cry from the vibrant images I envisioned. In this article, I am excited to unveil a groundbreaking solution. Say goodbye to lackluster results and hello to superior image quality! 🫨

Master Scala Rest APIs in 3 Simple Concepts: Illustrated Guide with Tapir, http4s, and Circe!

What if I told you there's a game-changing Scala solution for building Rest APIs and generating SwaggerUI docs at lightning speed? Plus, it's as fast as FastAPI (for Python enthusiasts) to develop! All this while preserving the robust type safety and functional programming elegance of Scala! 😲 In this post, we'll dive deep into this exhilarating tech stack: Tapir, http4s, and Circe!