How to Write a Perfect Machine Learning Document

Bengio-style ML Task Specification: From Research to Engineering Subtitle: How to write a reproducible, explainable, and comparable fine-tuning task document based on Yoshua Bengio’s methodology. Reading time: 10 minutes Tags: ML documentation, fine-tuning, technical standards, deep learning practice Audience: mid to senior ML engineers, researchers, technical writers 1. Why do we need this document? In ML projects, teams often run fine-tuning experiments. Months later, nobody can reproduce results or explain why a learning rate or LoRA layer was chosen. ...

October 24, 2025 · 3 min · map[name:Jeanphilo]

Ping Works but SSH Fails: A Real Case of SSH vs VNC

Ping Works but SSH Fails: A Real Case of SSH vs VNC Subtitle: From connection refusal to protocol identification: understand TCP, SSH, and VNC Reading time: 7 minutes Tags: network troubleshooting, SSH, VNC, Linux, remote access SEO keywords: SSH connection failed, kex_exchange_identification, VNC port 5905, RFB 003.008, SSH vs VNC Target readers Linux users, developers, and server admins Engineers learning systematic network troubleshooting Readers interested in SSH/VNC protocol behavior Background and motivation Have you seen this? ...

October 24, 2025 · 3 min · map[name:Jeanphilo]

Run SSH Without sudo: User-Level sshd on Linux

Below is a full draft based on your SSH startup and debugging process. It is ready for publication on a technical blog. Run SSH Without sudo on Linux (User-Level sshd Guide) Subtitle / Abstract: When you have no root access in a lab or restricted server environment, how do you start SSH and access your account remotely? This guide shows how to run sshd in your user directory, enable key login, and connect remotely. ...

October 24, 2025 · 4 min · map[name:Jeanphilo]

Run sshd Without sudo: Troubleshooting and Persistent User-Level SSH

Title: Run sshd Without sudo: Troubleshooting, nohup, and systemd (User-Level SSH) Subtitle / Abstract: How to run OpenSSH as a normal user, solve common errors like “connection refused”, “password auth failed”, and start-limit-hit, and keep sshd alive using nohup or systemd. Target readers: Intermediate Linux users, researchers on shared servers, and anyone who needs SSH without root. 1. Background / Motivation In some lab or shared environments, regular users do not have sudo. The default sshd service cannot be started. If you need to: ...

October 24, 2025 · 4 min · map[name:Jeanphilo]

Auto-start frp on Ubuntu with systemd

Auto-start frp on Ubuntu: A Complete Guide Subtitle / Abstract Use systemd to run frp (Fast Reverse Proxy) as a managed service for stable, secure, and monitored auto-start on boot. Reading time: 8 minutes Tags: frp, intranet tunneling, systemd, auto-start, Linux, Ubuntu SEO keywords: frp auto start, Ubuntu frp config, frpc systemd, frps service, intranet tunneling Meta description: Step-by-step systemd setup for frp (frpc/frps) with config templates and troubleshooting. Target readers Developers deploying frps on cloud servers Intermediate Linux users building stable home/office tunnels DevOps and self-hosting enthusiasts Background and motivation Many developers use frp to expose internal services (SSH, web, NAS) to the internet. The problem is that running ./frpc -c frpc.ini manually is inconvenient and unreliable after reboot. ...

October 23, 2025 · 3 min · map[name:Jeanphilo]

Expose WSL2 Services to the LAN via Windows Port Forwarding

Windows + WSL2 Port Forwarding Guide (Access Flask 5000) Prerequisites You are using WSL2 (Ubuntu or another Linux distro) The Windows host can access the LAN (Wi-Fi or Ethernet) A Flask service is running inside WSL2 and listening on: app.run(host="0.0.0.0", port=5000) host="0.0.0.0" is required; otherwise external access will fail. Step 1: Check the WSL2 IP In WSL2: ip addr show eth0 You should see something like: inet 172.26.209.37/20 Record the IP after inet (here: 172.26.209.37). This is the WSL2 internal IP. ...

October 22, 2025 · 2 min · map[name:Jeanphilo]

How to Use wrk for Load Testing

Load Testing APIs with wrk (Detailed Guide) This article explains how to use wrk on Ubuntu to stress-test backend APIs (Flask, FastAPI, Spring Boot, etc.) and interpret the results. 1. What is wrk? wrk is a modern, high-performance HTTP benchmarking tool written in C. Key features: High concurrency: thousands of concurrent connections Multi-threaded: uses multiple CPU cores Lua scripting: for custom headers, bodies, tokens Faster than Apache Benchmark (ab): lighter and more stable 2. Install wrk On Ubuntu/Debian: ...

October 22, 2025 · 2 min · map[name:Jeanphilo]

LAN Git Bare on WSL2

Access a Git Bare Repo on Windows WSL2 from the LAN In development, you often need to share Git repositories across multiple machines. If you use WSL2 on Windows and want other LAN machines to access a Git bare repo inside WSL2, this guide walks you through the setup. 1. Create a Git bare repo in WSL2 In WSL2, go to the target directory: git init --bare my_project.git my_project.git is a bare repo with no working tree, only Git data. A bare repo behaves like a remote and can be cloned and pushed. 2. Enable SSH in WSL2 Other machines will access via SSH. ...

October 22, 2025 · 2 min · map[name:Jeanphilo]

Git Branch Workflow for Small Teams

Simplified Git Branch Workflow (Solo / Small Team) This workflow is a simplified version of Git Flow. It is suitable for personal projects or small teams: structured but not heavy. 1. Main branch (long-lived) main Always stable and release-ready Production deployments come from here For small teams, main is usually enough; no need for develop. 2. Feature development (feature branch) Naming: feature/<feature-name> Purpose: build new features, then merge back to main Examples: ...

October 20, 2025 · 2 min · map[name:Jeanphilo]

Use a Local Git Bare Repo to Separate Dev and Test Environments

Use a Local Git Bare Repo to Separate Dev and Test Environments In full-stack work, a common problem is how to isolate dev and test environments. Many people host on GitHub or GitLab, but private projects may not be suitable for public hosting. Git is distributed. You can set up a local bare repo as a remote to move code from dev -> test in one machine. What is a bare repository? A normal repo (git init) has a working tree + .git metadata and can be edited directly. A bare repo (git init --bare) has only Git data, no working tree. It is usually used as a remote. In short: ...

October 20, 2025 · 2 min · map[name:Jeanphilo]