Photo by Danil Aksenov on Unsplash

Finally, this year is over. It was a shitty year. Even though people all around the world seemed more divided than ever, almost everyone can agree that it has been a shitty year.

Which is why I was looking forward to the year’s ending because it meant a new beginning, and that meant a New Year’s Programming Resolution! 🥳

2020 Reflections:

It has been a tough year for me from a programming standpoint. Back in October 2019 I was conscripted into my country’s armed forces, and I was on active duty until December 1st of this year. Access to technology on base…

Photo by Tim Arterbury on Unsplash

Ahhh finally I’m writing a blog post again. This one is more of a rant. An attempt to get something off my chest that has bothered my ever since I was a child. Ever since I started expressing my creativity.

“Who did this for you?”

For lack of better words. This sentence, or variations of it, have given me so much anxiety in the past whenever I presented my work to others. I have the cursed gift of being more creative than I seem to be. …

Photo by Annie Spratt on Unsplash

It’s almost New Year and time for one of the oldest rituals I’ve participated in: making a New Year Resolution. However this isn’t the typical to-do (and to-give-up eventually) list that many attempt each year. This is a specialized list that is aimed at improving me as a programmer and an engineer.

I am sure other developers out there do the same thing every once in a while either consciously or subconsciously. I started when I switched careers 2 years ago and decided to work in the industry instead of being a hobbyist. My list back then was pretty simple:

Back-end developers run into challenges all the time while building applications or testing code. As a developer who is fairly new and getting acquainted with those challenges, I have never run into a challenge or inconvenience more frequently — or more memorable — than with callback functions.

I am not going to delve too deeply into the details of callback and its pros and cons or alternatives like promises and async/await. For a more vivid explanation, you can check out this article which explains them thoroughly.

Callback Hell

Callbacks are a useful feature of JavaScript’s that enables it make asynchronous calls. They…

Photo by Willian Justen de Vasconcellos on Unsplash

It’s that time of the year again, and unless you have a Muslim friend you probably don’t know (or care) that it’s Ramadan. Millions and millions of people around the world are fasting from dawn till dusk everyday for 30 days. Some of which you might be working with and you either have no idea they’re fasting or you do know but you don’t know how you can adapt your behavior to make them feel better. If you are in that situation, this article is for you.

What can you expect?

Ramadan is an Islamic lunar month that comes at different dates every Gregorian…

If you haven’t read my earlier story about how I turned my life around by deciding to become a developer, thanks to freeCodeCamp, I advise you to do that now. I’ll give you some context so you’ll understand that this is not about me bashing CS degrees or admitting defeat.

In 2016, I had been working for a year with an Economics degree in a job that didn’t really challenge or fullfill me. I felt lost and depressed without passion, love, or a life goal. That part of my life is without a doubt the lowest and darkest time I…

So I’m a quick learner. Just a little over a year ago all I know about web development was HTML, CSS, and Javascript. I learned my basic front-end skills from following the front-end challenges and projects on freeCodeCamp. And still with these basic skills I managed to get an internship/part-time job as web developer in the university I attended.

But that was just me getting my foot in the door.

I found myself fascinated by the advanced topics and frameworks that surrounded web development. I saw and worked with powerful devs who just seemed like wizards to me. But that…

Since Google’s push towards a more secure web and required SSL Certificates for websites to avoid being flagged as unsafe, having your website support HTTPS connections is a must.

If your hosting your business or personal website on Amazon’s AWS like me, you might have noticed that Amazon only allows http connection to your domain by default via Amazon CloudFront. You are also given an SSL certificate that allows HTTPS connections. However, that would require using a different URL that uses the default CloudFront Certificate and ends in

If you want your users to use HTTPS and you want…

Python is a very flexible and popular programming language because of its simplicity, modularity, and power. So far I’ve been writing python programs that just automated some manual tasks and other statistical analysis work. However, I never really thought about running a python program with an arguement. The most I’ve interacted with a python program was just testing I/O methods while I was learning it.

This was until I was given a task at work that required me to write a reusable command line program that would take a URL and crawl that URL or the URL’s entire domain and…

At work, I like to automate my tasks. If I find my self repeating one or more steps for a given task, the programmer in me snaps and I dedicate my efforts to avoiding that repetition.

One of the tasks I got at work is, given a list of URLs from our university’s internal search engine, find the links that are either broken or redirected to new links.

Usually, this is a very simple task. All I would have to do is click the link in the URL column and see if it’s working, redirecting, or not found. However, what…

Adham El Banhawy

Software Developer, blogger, and tech enthusiast. Currently developing software at IBM.

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