Sign in

Programming | Personal Thoughts | Ideas
Photo by Baim Hanif on Unsplash

I just graduated this year, and I loved sharing what I did. Earlier, as an undergraduate I had to make many decisions, many of them went to be successful while others didn’t. Yet, every decision added to my experience.

Before graduation, I reflected on my 17 years as an undergraduate and asked the big questions. I wanted to have a vision of what is my character, manners to seek, manners to change, my skills, my strong points, and the weak. I thought about everything and I decided to challenge myself.

In this article, I wanted to share with your 5…


Photo by Volodymyr Hryshchenko on Unsplash

The story begins with a family gathering. You have a family dinner tonight, you are responsible for the food, and you know that almost all of your family love Spaghetti. You might end up saying that the probability that all the members of your family will eat the Spaghetti you made is equal to 0.8. Now, what if you add white sauce to the Spaghetti, you are not sure if your family will like the addition you made, so the probability of eating the Spaghetti might be changed.

Basically, that is what the Bayes’ theorem is about, you tend to…


I love machine learning, and deep learning as well. Yet, from day one of learning both, I discovered that to be better in this, I must be good at reading research papers. It takes a lot of training to learn how to read papers and summarize them. So I decided to share the world with some of those moments of decoding a research paper into summarized English text.

Today I will cover Arabic Text Diacritization Using Deep Neural Networks. As working in other languages in English is quite rare, I love digging into this to see how challenging it is…


Photo by Stephen Hocking on Unsplash

I am a software tester, my job is to find bugs in the developer’s work. The best thing I learned during my testing years, is that there should always be a difference between how an end-user report a bug, and how the tester reports a bug. In many cases, the time the developer will take to resolve an issue depends on how the bug was reported. So it is vital to spend time tracing any issue and spend a lot of effort in writing a good bug report, as this step alone, will reduce the time taken in resolving it.


Photo by Arthur Osipyan on Unsplash

“I can’t believe this won’t zip.” I thought as I stood in front of the bathroom mirror trying to get my Jeans to zip. They fit fine just a month or two ago. I stare at my reflection and think “How did I get here?”

I know I haven’t been paying a lot of attention to what I eat lately and I’ve put on quite a few pounds since Quarantine began, I think we all did.

It made me think back to something a friend told me a long time ago back in college that computer engineers, programmers, and other…


Photo by Maxwell Nelson on Unsplash

When I was an undergraduate, I wrote many lines of code and programs, the only thing that mattered for me was if the code is running or no. If it runs well, I submit the project then close my laptop feeling awesome. One day I asked one of my instructors to help me with my code to find a bug.

He told me: Your code is spaghetti, it is difficult to read, understand, and trace.

So I started to care about how to clean my code and I read Clean Code by Robert c.martin. …


Mural that says “Together.”
Photo by Adi Goldstein on Unsplash

As a team, there shouldn’t be “my work” and “your work” but “our work.”
As a software team, we aim to build the perfect system we can. Being a tester doesn’t mean just find as many bugs as you can to prove that the developer is doing it wrong. Instead, it is by releasing a stable product with minimal issues. Also, to be aware of almost all defects which the team agreed to launch with.

Let’s talk about best practices the tester should adopt to improve collaboration with the developer. If you followed the tips mentioned here, you will be…


Photo by Engin Akyurt on Unsplash

Code is like humor. When you have to explain it, it’s bad.

— Cory House

As software engineers, one important thing we have to keep in mind is the fact that the code we write will be seen by others, who may want to build on what we create. Please, don’t make their life harder than it already is!

If you hope your code will be used and reused as much as possible in the future, with minimal changes needed, you need to write neat code that:

  • Is easy to understand
  • Makes it easy to spot bugs
  • Is comfortable to…


Child staring at the first step of large staircase
photo by Jukan Tateisi on Unsplash

Three years ago, I didn’t know anything about the software field. I didn’t know the difference between backend and frontend, server and serverless, software development life cycle, or even anything about the field I am an expert at today. I knew nothing about quality control. I didn’t know it exists; I didn’t even know it is possible to ever earn a living by just testing apps and raising flags when you find a bug.

Yet, today I am a quality assurance engineer, and in this article, I will journal how it all happened.

My Career Before Quality Assurance

Years ago, I was an electrical engineer…


computer screen showing dense streams of data
Photo by Markus Spiske on Unsplash

At the beginning of my machine learning journey, I had lots of doubts about what models I should use for each data set I worked on. If I had created some insights about the best use case for each model, it would have been easier. Although in the machine learning field it is all about trying different models over and over to find the best fit for your data and target, it would also be great to lessen the options, especially as a beginner.

In this article, we will be comparing the basic supervised learning techniques for a regression problem…

Salam 🌿

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store