The non-achievers

So it is a new year, huh? You suddenly find your friends achieving really cool things and you feel like you have not done any thing. This post is for you, for US. I don’t think life is a discrete function, and treating it that way might be the source of this optimizing for dopamine. Success is not linear, in the journey of your life you will have far more failures than your successes. ...

December 31, 2020 · 1 min · Mohamed Yousif

EEBAx: History

I surprisingly had a few jobs in my career. Beside my own startup, i only worked to Ashrafcom. EEBAx was my first startup that i build with Mohamed Jaafar, https://eebax.com. I’m going to go back to ~ 2013 and how it all started. This website was made by Mohamed Jaafar (the one on the left, obviously 😂), in 2015. In 2014, i had the shortest conversation with Mohamed. I told him i don’t think i can fit into Surveying and I want to shift career to software, in a professional way. So in order to do that, we had to build a portfolio, and in order to do that we have to have a domain name (duh!) so we can enlist our projects and show what we are capable off. So, at the end of 2014 school year, we decided to collect some money to make our company. My father secured me my first job at his company, he had me cut my hair as a precondition to get the job! I was Soo into getting the money that I sacrificed my hair. The job was quite simple, I just had to install windows on variety of company devices and install office products too. It didn’t take much and by afternoon I finished the job. There was the boss pc and i just couldn’t install windows in it, so I told them I’m gonna install linux here. They asked me if it runs word AND had Arabic keyboard. I made sure both were there. Now that I remembered it, they had really beautiful IT employee! She’s so beautiful I actually couldn’t focus on work, I asked her about her work and she said she’s a designer and she did various designs and stuff for the company, the weirdest thing is that she asked me whether I have Photoshop and actually told me she didn’t have any and asked for courses about it. You’d be wondering how a designer don’t have photoshop but she’s an exception 😂😂 ...

December 25, 2020 · 3 min · Mohamed Yousif

Capitalism, software and burnout

Or really, publish or perish. Let’s set the stage for this: you don’t have to learn a new thing every day. You don’t have to produce a fancy thing every day and you definitely don’t have to be at your best every day. People are humans, and humans by nature have their ups and downs. Chill, take some time off. Enjoy the little things, get away from your laptop. You are not a robot. God, even machines perform much better after a reboot. ...

December 21, 2020 · 1 min · Mohamed Yousif

Communications ettiqute

Text based communication is far more difficult than verbal one. Context is mostly missing, and conversations can get heated faster than in verbal ones. It makes sense to suggest readers to always assume the best intent and be explicit and ask if they didn’t get the intent. But I want also to focus on the writer part. How do you communicate with text in ways that is clear and not rude to your readers. ...

December 18, 2020 · 1 min · Mohamed Yousif

Building against interfaces

This post discusses technical details

November 24, 2020 · 1 min · Mohamed Yousif

What are you testing

Testing in EBS Ultimately security tests in EBS are meant to assess PCI compliance of an organization, to this end, PCI DSS requirements are: Install a firewall Change all default passwords on network-connected devices Protect stored cardholder data via encryption, hashing, or other data protection methods Encrypt cardholder data in transit Install malware protection Patch vulnerabilities in all systems and applications Restrict access to cardholder data to authorized personnel Control and restrict system access Control and restrict physical access to cardholder data Monitor access to data Test security systems regularly Maintain an information security policy Let us go through them one by one, they are not that hard eh? ...

November 10, 2020 · 5 min · Mohamed Yousif

Values and pointers: What could possibly go wrong?

This post highlights a weird and expected behavior we encountered while using Go’s encoding/json library. In go, we pass by value, that really means this: type User struct { Name string } func changeMe(u User) { u.Name = "New Name" } func main(){ u := User{Name: "mohamed"} changeMe(u) log.Printf("The user is: %s", u.Name) // mohamed } To change by value, we must pass a pointer, we can change the code to be something like this: func changeMe(u *User) { u.Name = "New Name" } // same code u := User{Name: "mohamed"} changeMe(&u) //<--- we made a change here! We should pass the memory address to user log.Printf("The user is: %s", u.Name) // New Name But in go, we slightly use a different syntax for this, we use a method receiver on the struct. More like method to classes on other languages. ...

October 30, 2020 · 7 min · Mohamed Yousif

9-5

I have not written any post recently (4 months since my breakup post). I want to use this article to discuss some of the ideas i have about “work”, and by work i mean professional work. I won’t be citing anything (at least for now since i’m using this post to get away from working so yeah), so take everything here with a hugge grain of salt. Corona has changed a lot and many of big software companies have moved to a permanent remote work setup. That actually makes sense as software can be done remotely and for that we have really built awesome infrastrucutre supporting this: from email, to Slack and Zoom. Everything we do in software is inherently remote-friendly. ...

September 4, 2020 · 3 min · Mohamed Yousif

On life and love

Relationships are hard to maintain. It touches very deep parts inside you, it makes you more insecure and usually more dumber. Relationships are hard. It is extremely rare in nature to have two independently actors to align and to keep on that. It is often each partner in a different stage in the relationship than the other. The expectations change and so are the responsibilities. We are human and it is imperative we are insecure and subject to external factor. I have been telling my friends I cannot even plan for tomorrow’s dinner let alone my life goals. It is just too hard to get it right. And i settled from the easiest path; I didn’t plan for anything, nor did i commit. Relationships are not for everyone. ...

May 12, 2020 · 2 min · Mohamed Yousif

Simple design: probably a good one!

This article is intended to be rather short ™. I will discuss my latest tool [https://github.com/adonese/ebs-live](ebs live dashboard api consumer). As the name suggests, this tool simply converts EBS’s website into an API. Pretty simple right. the problem we have an html document we want to parse it to extract some text, v We can use Go’s excellent x/net/html library to parse the html. html package provides the following: proper utf-8 encoding html body node traversing (e.g., it does exactly what your browser do with manipulating and accessing the DOM) The code for this part is really simple so, i won’t go into it at all. ...

April 8, 2020 · 4 min · Mohamed Yousif