I’m Hamza Boutaleb, a software engineer who loves programming and wants to understand how computers work. I started coding at 13, following questions about the games I played and the forums I visited.

When I first used a computer, I took a lot of things for granted. A game worked because it worked. A website appeared because I opened it. I didn’t yet understand how much logic and mathematics went into making those things happen. The machine fascinated me, even before I knew what to ask about it.

It started with games and forums

As a kid, I watched my brother use the computer and visit forums. I also played games with my friends, including GTA and Need for Speed. Eventually, I started wondering how people built them. How did someone make a game like that? How did a forum work?

After months of searching, I discovered forum software such as phpBB. I also found websites that would create a forum for me with a click. I tried those, but they weren’t quite what I was looking for, so I kept searching.

Then I found vBulletin. It was the kind of forum I wanted, but getting it running wasn’t a one-click process. I learned that I needed somewhere to host it, and eventually found free hosting services I could try.

Getting the forum connected to its database took a lot of attempts. In the setup I was using, I edited the database connection details directly in a file called config.php. I kept trying, failing, and changing things until I finally got it working.

My forum was online. I was so happy.

After a while, though, I wanted to understand how vBulletin itself worked. I could run it, but I didn’t understand the code that made it work.

Learning to build for the web

That led me to programming languages and the different parts of a website. I began learning HTML for the page structure, CSS for styling, PHP for the backend, and SQL with MySQL for storing and retrieving data.

The backend made sense to me. A request came in, I read its GET or POST data, validated it, stored something in the database if needed, and returned HTML containing the result. I could follow what the code was doing and why.

JavaScript was much harder for me to connect to what I saw on the screen. I learned about variables, loops, and functions, but I couldn’t see how those things became an animation or an interactive page. Knowing what a function was didn’t explain how to make a button do something.

Eventually, I learned about the DOM: the browser’s representation of the page, and the methods JavaScript could use to change it. That helped me connect the language to the page itself. It took me a long time to get there.

I also learned jQuery, which helped JavaScript make more sense to me than learning the language on its own had.

The questions kept growing

As I learned more about web development, I realised how much was happening underneath it. I started asking questions about the computer itself.

How does an operating system work? What does a database do differently from a file, and when do we need one? How does the PHP interpreter run the code I write? What happens between someone entering my website’s address and seeing the page?

Those questions led me into algorithms, data structures, low-level programming, networking, operating systems, and compilers. Over time, I found answers to many of them, but there are still parts I don’t fully understand. There’s a lot to learn, and I’m still curious.

AI has made some of that learning easier for me. It helps me ask follow-up questions and connect information that used to take a lot of searching and reading to find. I still want to understand the ideas myself, and there are plenty of questions I’m working through.

Why I’m starting this blog

I want to share some of that process here: things I build, questions I explore, and explanations that help me understand how software works. Some posts will be about web development. Others will go further into the systems underneath it.

I’m also working on my writing. The experiences, questions, and ideas here are mine, and I use AI to help organise them and make the writing clearer and easier to read.

Welcome to my blog. I hope you enjoy reading it and find something useful along the way.