Technical articles. No filler.
Read the available column, not free, and watch vmstat si and so to tell whether swap helps or hides a shortage. Shield the database from the OOM killer, and when growth is real, 2GB of RAM for 600 SAR a year beats weeks of tuning.
A Gmail 550-5.7.25 rejection means your IP has no PTR or the name does not point back to the same IP. Align the hostname, PTR and SPF on one name, and check the full loop with dig after every move.
A new server on UTC pushes your crons 3 hours late and skews NOW() in the database, while an unsynced clock drifts seconds every day. Set the zone with timedatectl, sync with chrony, store in UTC and display in Riyadh time.
A kernel update does not protect you until you reboot, because the old kernel keeps running in memory. Live patching closes urgent holes without downtime, but a reboot window every 30 days with a post boot check is still essential.
RAID 0 adds speed with zero protection, RAID 1 survives one disk at half the capacity, RAID 5 is risky to rebuild on large disks, and RAID 10 is the best balance for databases. None of them is a backup.
For clean printed Arabic, Tesseract or PaddleOCR reads a page on CPU in a second or two, while poor photos and tables need a vision model. Preprocess images first, read the e-invoice QR code before anything else, and keep customer documents on a Saudi server.
Dify combines assistant building, knowledge bases, logs and APIs in one console, and runs with Docker Compose on a 2-core, 4GB server. Connect a local model through Ollama or a cloud model, then start with an assistant answering from company policy.
Regular application logs cannot tell you why the model answered wrongly or what a request cost. Langfuse traces every call with its inputs, outputs, latency and cost, and runs with Docker Compose on a 4-core, 16GB server so sensitive conversations stay in Saudi Arabia.
For most Arabic RAG projects start with bge-m3 or multilingual-e5-large at 1024 dimensions, and try Qwen3-Embedding if you have a GPU. Do not trust public leaderboards alone; test 100 real questions from your own data and measure Recall@5 before deciding.