← Back to blog

My stance on AI, from someone who has programmed since 14

Mohamad Almousli · 2026-10-06 · 3 min read

#ai#claude-code#opinion#ethics

I started programming when I was 14, and I have been doing it ever since. It isn't just my job. It's the thing I have been passionate about for most of my life. So when AI coding tools arrived, my feelings about them were complicated.

It took me time to accept it

At first I kept my distance. Writing code by hand is how I learned, how I think, and honestly the part I enjoy most. A tool that writes code for you felt like it skipped the very thing I love about this craft.

But I am curious by nature, so I started experimenting, carefully at first. The more I tried it, the clearer it became that it is genuinely useful when it is used the right way.

How I actually use it

AI doesn't decide what I build or how it works. Before any code is written, I research the problem, plan the project and decide on its structure: which parts exist, how they talk to each other, and where everything lives.

I keep the code structured the way I like it. I have clear opinions about naming, file layout and architecture, and I write them down so the tool follows them, not the other way around. This website is a good example: it is my own Kotlin generator, built on my own rules, and AI works inside those rules.

Used like that, it takes care of the repetitive work and lets me spend more of my time on the parts that need real thinking.

The tools I use

Right now I use Claude Code. I also tried running local LLMs, because I like the idea of everything staying on my own machine. But I don't have powerful hardware, and the models I could run didn't reach a quality I could rely on. I'll keep an eye on them as they get better.

The people who are against it

Many people are against the use of AI, and I truly see where they are coming from. There are real concerns about how these models are trained, about the work of the people whose writing and code they learned from, about jobs, and about the energy they use. I don't think those concerns should be waved away.

That's exactly why I try to use AI ethically. I stay open about it: commits it helped with say so. I don't present its output as something it isn't, and I stay responsible for every line that ships under my name.

Where I stand

I am still a programmer who loves programming. AI didn't replace that. It's one more tool, a powerful one, and how useful or harmful it is depends on how it is used. I want to use it thoughtfully, honestly and on my own terms.

Keep reading

2026-10-06

How this site is built: a fully custom Kotlin generator

Why this site comes from my own Kotlin project, and how that makes languages, custom features, code organization and SEO so much easier.

#kotlin#static-site#web#seo
ThreeTabs is now on the Chrome Web Store
2026-10-06

ThreeTabs is now on the Chrome Web Store

The tab-limit extension can now be installed in one click from the Chrome Web Store, with automatic updates.

#browser#extension#chrome-web-store
WayWayBack: browse a site's whole history on a heat-map calendar
2026-10-05

WayWayBack: browse a site's whole history on a heat-map calendar

An unofficial, fully client-side browser for the Wayback Machine: pick a year, a month and a day, and open any snapshot.

#android#flutter#wayback-machine#open-source
Claude Status Bar: your Claude Code limits, always visible
2026-10-05

Claude Status Bar: your Claude Code limits, always visible

A usage meter that shows both rate limits and the countdown to each reset, in your Xfce panel or system tray.

#linux#windows#macos#claude-code#tray
2026-10-05

Floating Mute: mute your phone with one tap, from any app

A small floating button for Android that mutes and unmutes in one tap, made for short videos, and puts your volume back where it was.

#android#kotlin#f-droid#open-source
2026-10-05

Floating Volume: a volume slider that floats above every app

Control your device's volume from anywhere with a floating slider on Android, built with Flutter and a native Kotlin layer.

#android#flutter#kotlin#f-droid
sddm-simplisim: a login screen that is just black
2026-10-05

sddm-simplisim: a login screen that is just black

A minimal, pure-black SDDM theme with a live clock, username and password fields, and a power-off button.

#linux#sddm#theme#minimal
2026-10-05

FiAE-AP2: a study site for the IHK AP2 exam

Topics, quizzes, flashcards and crash courses for the Fachinformatiker Anwendungsentwicklung exam, in plain JavaScript with no build step.

#web#javascript#ihk#study
FullShot: full-page screenshots in one click, nothing uploaded
2026-10-04

FullShot: full-page screenshots in one click, nothing uploaded

A free, open-source extension that scrolls, stitches and saves whole pages as PNG, JPEG or PDF — entirely on your device.

#browser#extension#screenshot
ThreeTabs: a browser that only lets you open three tabs
2026-10-04

ThreeTabs: a browser that only lets you open three tabs

Why a hard tab limit beats tab managers, how ThreeTabs enforces it, and what it does (and doesn't) touch.

#browser#extension#focus
Why grayscale matters (and how hard desktops make it)
2026-09-29

Why grayscale matters (and how hard desktops make it)

Color is a lever built to pull you back in. Here's why I built graytoggle for XFCE, what to use on GNOME and KDE instead, and why none of this should be this hard.

#linux#xfce#gnome#kde#accessibility
↑↓ move · Enter open · Esc close