Posts

Showing posts with the label tutorial

Mastering Your DSLR: An Insider Guide to Camera Modes, Tips, and Tricks

Image
For many enthusiasts, stepping up to a DSLR camera is an exciting milestone. You invest in solid gear, attach your lens, look through the viewfinder, and feel ready to capture cinematic art. Yet, when you twist the mode dial, a wall of unfamiliar acronyms stares back at you. P, Tv, Av, M. For months, many photographers keep their camera stuck on Auto mode, letting the internal computer make every creative decision. While my daily work revolves around writing backend code and building applications, photography has always been a massive creative outlet for me. Whether you are framing a landscape or capturing fine structural details, understanding how your camera thinks changes everything. Relying on Auto mode means letting a machine guess your artistic vision. Today, we are going to dive deep inside DSLR camera modes, break down the core mechanics of exposure, and explore practical tips and tricks that will elevate your photography from standard s...

Cloudflare Localhost Meet the Internet: The Ultimate Developer Masterclass

Image
Every software developer knows the comforting security blanket of http://localhost:3000 or http://localhost:8000 . It is your isolated sandbox where code breaks safely, databases reset effortlessly, and you can experiment without fear of affecting end users. However, modern software engineering rarely happens in absolute isolation. Applications must talk to external webhooks, integrate with third party identity providers, undergo real device testing, and be reviewed by remote stakeholders before hitting production. Historically, bridging the gap between your local machine and the public internet involved tedious workarounds, insecure port forwarding configurations, and unreliable proxy services. Today, we are going to explore how Cloudflare Tunnel revolutionizes this workflow. By establishing an encrypted outbound connection directly to the Cloudflare global network, you can expose your local development server to the world securely, instantly, and without opening in...

Navigating GitHub as a Blind Developer: How I Built a Python Workflow to Reclaim My Code

Image
As a backend developer, code is my craft. I spend my days architecting APIs, optimizing databases, and orchestrating containers. But there is a hidden friction in modern software engineering that most sighted developers never have to think about: the user interface barrier. I am completely blind. When I code, my screen reader is my primary window to the digital world, translating code structures, logs, and terminal outputs into speech or Braille. Modern web applications are increasingly complex, packed with dynamic JavaScript, infinite scrolls, and intricate visual widgets. While platforms like GitHub are indispensable for modern engineering, navigating heavy web interfaces with a screen reader can often feel like walking through a maze of hidden walls. The Problem: The Web UI Labyrinth Imagine trying to review a massive pull request on GitHub via a screen reader. You encounter endless nested buttons, hidden dropdowns, visually-driven diff views, an...

Hosting a Static Website on GitHub Pages and Netlify: A Developer’s Guide

Image
Static site generators and modern frontend tooling have transformed how we ship content on the web. Moving away from monolithic LAMP stacks to decoupled, pre-rendered HTML/CSS/JS assets offers massive performance gains and security benefits. When it comes to deploying these assets, GitHub Pages and Netlify remain two of the industry's most reliable and frictionless options. Why Choose GitHub Pages and Netlify? Choosing the right hosting platform comes down to developer experience, continuous deployment capabilities, and performance: Cost & Simplicity: Both platforms offer robust free tiers that easily handle personal portfolios, documentation, and blogs. Continuous Integration (CI/CD): Push to your main branch, and your build pipelines run automatically without manual FTP uploads. Global CDN Distribution: Assets are cached at edge locations worldwide, ensuring sub-second load times. Custom Domains & SSL: Free aut...

Deploying Static Sites to Netlify and GitHub Pages with Custom Domains

Image
You've built a stellar static site, pushed it to GitHub, and hooked it up to a hosting provider. But default subdomains like your-app.netlify.app or username.github.io/repo don't look professional. Connecting a custom domain—like blog.bentaherghassen.com —transforms your personal project into a polished, production-ready brand. If you've already added your domain registrar settings and see that it's auto-verified , congratulations! You've cleared the first major hurdle. Now, what do you need to do next to make your site live? You Added Your Domain and It's Auto-Verified: Next Steps Auto-verification usually means your DNS provider (like Cloudflare, Namecheap, or Google Domains) confirmed ownership via TXT records, or your hosting provider detected existing DNS pathways. However, verification is only proof of ownership; you still need to point the traffic to your host and secure your connection. ...

Mastering Git and GitHub CLI from the Terminal

Image
As a backend developer, context-switching between your code editor, browser, and GitHub UI to create pull requests, review issues, or inspect pipelines can drastically slow you down. By combining native Git commands with the official GitHub CLI ( gh ), you can manage your entire version control lifecycle without ever leaving the terminal. This guide covers the essential terminal workflows to speed up your daily engineering routine. 1. Setting Up and Authenticating the GitHub CLI Before doing anything fancy, make sure you have the official GitHub CLI installed (available via Homebrew, winget, or apt). Once installed, authenticate your terminal with your GitHub account securely: gh auth login Follow the interactive prompts to authenticate via your browser or a personal access token (PAT). Once set up, you can interact with pull requests, issues, and repos instantly. 2. Creating Pull Requests Instantly ...

How to Install Docker Desktop on Windows 11: A Step-by-Step Guide

Image
If you are setting up a local development environment on Windows 11, running containers through Docker is essential. Because Docker runs natively on Linux kernels, Windows 11 relies on the Windows Subsystem for Linux (WSL 2) to power its container engine. This complete, beginner-friendly guide walks through what Docker is, why you should use it, and how to install and verify Docker Desktop on Windows 11. Why Docker? If you have ever spent hours troubleshooting why code that worked perfectly on your local machine suddenly breaks on a server, you have already experienced the classic "it works on my machine" dilemma. Docker solves this and several other engineering headaches: Environment Consistency: Docker packages your application code together with its runtime, system tools, libraries, and settings into a single lightweight container . This container runs identically on your Windows lapto...

From Hours to Seconds , Why i build flask-gen

Image
Hello developers  , as developers we all love the 'Magic' of building , but we often dread the "drudgery" of starting. You know the drill: creating the folder structure, configuring the environment, manually setting up blueprints, schemas, and utility files—it’s a process that used to eat up an hour of my afternoon every single time I wanted to experiment with a new idea. note that I am a blind developer working with assistive technologies. Some tasks may require additional effort and time. I’ve spent a significant amount of time meticulously crafting project templates to ensure my code stays clean and maintainable. But no matter how organized I was, the manual setup was a bottleneck I reached a point where I realized that if I was automating everything else in my workflow, I should be automating my project initialization, too. So, I set out to build `flask-gen`, a tool designed to take the friction out of starting a new project.   It wasn't a project I threw toge...

The Case of the Vanishing Data: A Tale of SSL

Image
Hello , The internet. A vast ocean of information, a marketplace of ideas, a constant stream of entertainment. But lurking beneath the surface, unseen and silent, are dangers. Imagine, if you will, a world where your online conversations, your financial transactions, your most private thoughts, could be easily intercepted and read by anyone with the right tools. This was once a very real possibility. Data flowed freely across the internet, vulnerable to prying eyes and malicious actors. But then, a hero emerged: SSL ( or Secure Sockets Layer ) The Problem: Imagine you're ordering a pizza online. You enter your credit card details, hit "submit," and poof! Your information vanishes into the ether. Who knows where it goes? Perhaps to a shadowy figure in a dimly lit room, eagerly awaiting your card number. The Solution: Enter SSL. Think of it as a secret code, a whisper in the wind. When you visit a website with SSL enabled (you'll see "HTTPS" in the...

SSH, A Deep Dive for Backend Developers

Image
Hello friend , Ghassen talk tech today !! Let's talk about SSH (Secure Shell ). SSH , is a powerful network protocol that provides a secure way to access remote computers. It's a cornerstone of backend development, enabling developers to manage servers, deploy applications, and troubleshoot issues efficiently. Understanding SSH SSH essentially creates a secure tunnel between your local machine and a remote server. This tunnel ensures that all data transmitted is encrypted, protecting it from unauthorized access. SSH also provides robust authentication mechanisms to verify your identity and prevent unauthorized access. Key Features:   - Encryption : All data transmitted over an SSH connection is encrypted using strong cryptographic algorithms. - Authentication : SSH supports various authentication methods, including password-based authentication, public/private key pairs, and other authentication factors. - Remote Command Execution : You can execute commands on the remote server...

What is a URL? A Beginner's Guide to Web Addresses

Image
Have you ever wondered how you get from one website to another? It's all thanks to URLs ! Think of it as the address of a house on the internet. Just like a physical address tells you where a house is located, a URL tells your web browser where to find a specific webpage, image, video, or other resource online. Let's break down a URL: A typical URL looks something like this: `https://www.example.com/blog/what-is-a-url`. https:// : This is the **protocol** or the method used to access the resource. `https` stands for Hypertext Transfer Protocol Secure, which means the connection is encrypted for security. It's like choosing a specific route to reach a destination.   www.example.com : This is the **domain name** or the website's address. It's like the name of a street or a neighborhood. It helps identify the specific website or server where the resource is located.   /blog/what-is-a-url : This is the **path** or the specific location of the resource within the websi...

How To Post Instagram Photos From A Desktop Web Browser

Image
You can now upload images directly from a browser without the need to use the Instagram app and it’s trivially easy for Chrome users. Photo by NeONBRAND on Unsplash

How to take a screenshot on your Mac

Image
You can capture the entire screen, a window, or just a selected portion of the screen. With  macOS Mojave , press Shift-Command (⌘)-5 on your keyboard to see all the controls you need to capture still images and record video of your screen. Use these onscreen controls to select whether to capture the entire screen, capture a window, capture a selected portion, or record a video of the screen. (To capture the Touch Bar, continue to use Shift-Command-6.) Capture the entire screen Click   in the onscreen controls. Your pointer changes to a camera  . Click any screen to capture that screen, or click Capture in the onscreen controls. Capture a window Click   in the onscreen controls. Your pointer changes to a camera  . Click a window to capture that window. To exclude the window's shadow from the screenshot, press and hold the Option (⌥) key while you click. Capture a selected portion of the screen ...

Scientific-Calculator using Eclipse in java program

Image
Code src GITHUB : http://bit.ly/2CEMk9p

Subnet Calculator built using java swing and eclipse swing window builder

Image
idea : 11111111.11111111.11100000.00000000 \19 11111111.11111111.11110000.00000000 \20 11111111.11111111.11111000.00000000 \21 11111111.11111111.11111100.00000000 \22 11111111.11111111.11111110.00000000 \23 11111111.11111111.11111111.00000000 \24 11111111.11111111.11111111.10000000 \25 11111111.11111111.11111111.11000000 \26 11111111.11111111.11111111.11100000 \27 11111111.11111111.11111111.11110000 \28 11111111.11111111.11111111.11111000 \29 11111111.11111111.11111111.11111100 \30 11111111.11111111.11111111.11111110 \31 11111111.11111111.11111111.11111111 \32 Give IP Address AND ( / OR Subnet ) Get IP start, end, broadcast, network, etc. IP 11000000.10101000.00000000.00000001 Netmask 11111111.11111111.11111111.00000000 Broadcast 11000000.10101000.00000000.11111111 First 11000000.10101000.00000000.00000001 Last 11000000.10101000.00000000.11111110 192.168.0.1 /24 broadcast 192.168.0.255 network 192.168.0.1 first usable address 192.16...