News (Proprietary)
2+ week, 20+ hour ago (59+ words) [nicolasbonnici] How to create a REST API in seconds Nicolas Bonnici " Nov 15 #howto #api #rest #go Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well...
1+ week, 5+ day ago (200+ words) So yesterday i started working on my chess engine, written in c++,i'm writing these blogs and a couple more i'll write in the future for quite a selfish reason (to track my progress) and also because i want someone else, confused like me in the future to use this, hopefully, as a road map to write their engine. right so i started yesterday, i started with well board representation, I'm a programmer not a writer so please forgive my fuck ups here and there, some times i won't make sense but lie to yourself and pretend you do understand what i'm on. ` from there i basically hard-coded each each in the 8x8 array. and then proceeded to have print function, which prints the pieces on the console, it maps a string i hard-coded to the enum values. 1.pieces = " PNBRQKpnbrqk" it…...
Realm: The Dev Environment That Eliminates Terminal Chaos
4+ week, 1+ day ago (366+ words) I have been using this little tool for a bit because I don't always get to have docker in some of the specialized environments or platforms I build for. I decided to polish it up and release it. This complexity multiplies when you're working on multiple projects. Context switching becomes painful, and onboarding new developers means sharing a 50-step setup guide. Realm is a single CLI tool that replaces your entire development environment setup. It combines: All written in Rust for speed and reliability. Getting started is simple: Pre-built binaries are available for macOS (Intel & Apple Silicon), Linux (x64 & ARM64), and Windows. The interactive init experience makes setup effortless: Realm acts as a single command center for your entire development environment: Instead of manually configuring nginx or dealing with CORS issues, Realm's built-in proxy handles everything: Like Foreman or Overmind, but integrated…...
🧱 Part 1: Why Every Frontend Developer Should Learn NGINX
2+ week, 3+ day ago (249+ words) If you've ever deployed a React app and seen something like "served via NGINX' but didn't quite know what that means " this guide is for you." This is Part 1 of my series: " Mastering NGINX for Frontend Developers " From Zero to Production." We'll go from not knowing what NGINX is " to confidently using it to deploy and scale your frontend projects. NGINX (pronounced engine-ex") is a high-performance web server that can also act as a: It's used by companies like Netflix, GitHub, Airbnb, and most likely " your favorite React app. Even if you're not managing servers day-to-day, understanding NGINX helps you: In short " it's the bridge between your frontend code and the real world. Here's what a typical deployment looks like: So NGINX becomes your traffic controller " it knows what to serve and where to forward requests. Let's peek under the hood…...
Why Developer Experience (DX) Matters in DevOps
2+ day, 3+ hour ago (358+ words) Great DevOps isn't built on powerful tools , it's built on developers who have the freedom and clarity to use them well." Developer Experience (DX) refers to how developers feel while interacting with tools, processes, documentation, and systems throughout the development lifecycle. A good DX means developers: DX isn't about giving developers more perks" , it's about improving efficiency, reducing friction, and enabling innovation. Developer Experience and DevOps are deeply connected. DevOps aims to shorten the development lifecycle and improve collaboration through automation and cultural transformation. DX ensures developers actually enjoy , and succeed , within that system. How DX Elevates DevOps: In short: Better DX = Happier Devs = Better Software + Faster Delivery. 1. Documentation That Actually Helps " Clear, updated, concise documentation saves time and confusion. 2. Fast Feedback Loops " Slow builds or testing cycles kill motivation. Fast pipelines keep devs moving. 3. Automation of Repetitive Tasks " CI/CD,…...
Building a URL Shortener with Go and Redis
3+ week, 1+ day ago (211+ words) Ever wondered how services like bit.ly or TinyURL work? I recently built my own URL shortener as part of the Coding Challenges series, and I'm excited to share what I learned! Build a service that: My solution: A Go-based service with Redis for blazing-fast lookups, all containerized with Docker. " Full source code on GitHub The system has three main components: The heart of any URL shortener is converting long URLs into short codes. Here's my approach: Hash collisions are inevitable. Two different URLs might generate the same short code. Here's how I handle it: To prevent the same URL from getting multiple short codes, I normalize URLs: All variations of the same domain get the same short code! The entire stack runs in Docker with a single command: The full project is open source and ready to run: Challenge:…...
Building a Simple URL Shortener with Go and Redis
1+ week, 5+ day ago (133+ words) URL shorteners are everywhere, from social media to analytics platforms. They look simple, but under the hood, they require careful thought: idempotency, collision management, fast lookups, and clean API design. I recently completed the URL Shortener challenge from Coding Challenges, and although it seems like a tiny project on the surface, it turned into a rich learning experience. In this article, I walk you through how I built a lightweight, fast, and reliable URL Shortener using: I built the project using: The service exposes two endpoints: POST /shorten Accepts a long URL and returns a short one. The project structure looks like this: The ShortenHandlerin handlers/shorten.go handles POST requests to /shorten. The workflow is as follows: config/redis.go sets up the Redis client: Here's the full implementation on GitHub...
🔥 Understanding HTTP Deeply — The Backbone of the Web (For Backend Learners)
1+ week, 6+ day ago (343+ words) You tryna be a backend dev but HTTP is still a mystery? That's not very slay of you When you step into backend development, you quickly realize that knowing HTTP is not optional. It's the foundation of how clients and servers talk, how browsers fetch your apps, how APIs work, how authentication happens " everything. This article explains HTTP in a simple but deeply technical way, covering: If a client sends 5 requests, the server treats each one as a fresh request with no memory of previous interactions. Developers implement state management using techniques such as: Each request carries user identity again and again. Every request must re-send credentials because the server doesn't remember previous requests. Anything that sends a request: Client " sends Request " HTTP " Server Server " sends Response " HTTP " Client Medium of communication " TCP. HTTP runs on top of TCP (Transmission…...
3+ day, 3+ hour ago (242+ words) A namespace in Linux is a boundary or an isolation mechanism. It decides what a process is allowed to see on the system. Think of it like: A private room inside a house. You only see what's inside your room, not the whole house. Containers rely heavily on Linux namespaces. Some key ones used by containers: Kubernetes Pods mainly use NETWORK + IPC + UTS namespaces. " All containers inside the same Pod can see the same network, hostname, and IPC resources. This is why we say: Containers inside a Pod share namespaces. All containers inside a Pod: Pod has two containers: Both can communicate like this: They don't need a Service to talk to each other. " This is why we say: Pods = shared network namespace. Containers inside one Pod share: Both containers can read/write to the same folders. Containers inside a…...
gookit/goutil v0.7.2 Released: Enhanced Features & Fixes for an Improved Development Experience
1+ week, 2+ day ago (81+ words) This version fixes several key issues to ensure the stable operation of the library: You can use the following command to get the latest version: TIP: This is a potential breaking change in this release, please check and update your references before upgrading. We thank all contributors for their efforts in this release! If you find any issues or have feature suggestions, please feel free to open an issue at GitHub Issues. Enjoy the new features and improvements in v0.7.2...