Skip to content
View majidninja's full-sized avatar

Block or report majidninja

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
majidninja/README.md
A terminal runs whoami and systemctl status majid: Majid Ali, DevOps engineer, server master and security expert in Ramallah. majid.service keeps servers up and attackers out, active since 2023. Next to it, a server rack with blinking lights.

majid.ninja GitLab

Hi, I'm Majid 👋

I run servers and keep them running. That means DevOps, Linux, and a fair amount of security work, because a server that's up but owned isn't really up.

  • Day to day: deploys, CI pipelines, hardening boxes, and reading logs at hours when nobody should be reading logs.
  • Lately: writing small Rust tools for the problems I keep running into on Linux machines.
  • Ask me about: Linux servers, CI/CD, locking down SSH, or why the thing that worked yesterday doesn't work today.
16 pull requests merged into 7 other people's repositories. 96 contributions in the last year. 4 of my own public repos with 4 stars. Latest releases: rotcheck v1.2.0, whatchanged v0.1.0. Data as of 2026-11-02.

Things I've built

whatchanged   release
Something on your Linux box broke and it worked yesterday. whatchanged --since yesterday puts package upgrades, edited configs, new services and cron changes on one timeline, so you can see what moved. Read-only, no daemon, no network.

whatchanged-action   release
The same idea for CI: a GitHub Action that shows what a job changed on its runner (packages, /etc, systemd, cron). Useful when a pipeline passes and then the next one mysteriously doesn't.

rotcheck   release
Disks flip bits quietly, and you usually find out years later when an old photo won't open. rotcheck records a checksum for every file in the folders you care about and tells you what went missing, changed or rotted. Offline, zero dependencies, sha256sum-compatible manifests.

Upstream

Merged pull requests in other people's projects. This table updates itself every week.

Project Merged PRs Most recent
AndreaBozzo/dataprof 9 #1184 test(python): leave execution_time_ms out of the arrow stream quality comparison
CrossGL/crosstl 1 #3663 fix(opencl): number program-scope __constant bindings before kernel buffers
nikhilb2/simple_invoicing 1 #617 fix(backend): sort GSTR-1 Table 13 document numbers naturally
skdas20/VaultX 2 #15 fix(storage): create the vault and session cache owner-only
ludo-technologies/pyscn 1 #864 fix: report clone fragment complexity (#860)
ansible/receptor 1 #1612 fix(receptorctl): ignore leading v when comparing versions
storytold/pdfcraft 1 #3325 Rail: scroll the panel buttons above the page navigation in short windows (#3282)

Off the keyboard

Well, mostly still on it.

  • Bash scripts for fun. If I do something twice, the third time is a script. Some of them are even a good idea.
  • Hardware. I build, fix and upgrade machines, and I'd rather open the case than open a ticket.
  • Gaming. Same rule as production: low latency, high uptime, and blame the network when I lose.
while true; do coffee && deploy || rollback; sleep 8h; done

Profile views

Popular repositories Loading

  1. dataprof dataprof Public

    Forked from AndreaBozzo/dataprof

    Data profiling and quality gates for CSV, JSON, Parquet and DataFrames. Rust core, Python API.

    Rust 3

  2. skills skills Public

    2

  3. rotcheck rotcheck Public

    Rust 2

  4. pdfcraft pdfcraft Public

    Forked from storytold/pdfcraft

    PdfCraft: An open-source PDF reader and editor written by scratch in pure Rust

    Rust 2

  5. receptor receptor Public

    Forked from ansible/receptor

    Project Receptor is a flexible multi-service relayer with remote execution and orchestration capabilities linking controllers with executors across a mesh of nodes.

    Go 2

  6. whatchanged whatchanged Public

    Rust 2 1