How people get scammed?

In the past few months, I was tracking some rogue thieves and their online activities.
I found that most of them depend on greed, naiveness and impatience of people. In this article, I want to tell you some things that you have to suspect once you notice one of them. Please note that this is not a complete list, stay aware and watch out because many people out there need your money no matter how they will get it. Too good to be true when an offer is too good, ask yourself why not everyone else making use of it? why not everyone is happy? why life sucks? One-side win When someone gives you an offer, he is probably advertising his product, getting rid of old unmatched trades so that he can get money for more successful trades or even he is drunk and he got a baby so that he can’t see what is he doing. All of these can be chances for you, also you can easily detect such cases. But when someone gives you an offer and you can’t see what he is gaining you have to suspect, invisible goals ca…

A walk through GitHub

In this Article [link] I described why I think every developer should learn git and GitHub.

Many fresh graduates and juniors contacted me asking about guides on how they should deal with GitHub and how to interact.
Here, I will walk through some live examples and show my opinion about how good developer should deal with the open source community.
I'm assuming you know about git and GitHub.
Opening issues. When you have a problem with a project, you submit a ticket (aka issue), you should clearly describe the issue and spend few seconds searching if it was reported before (If yes, go ahead and join the discussion). Opening a ticket can be for: Asking for a feature.Asking how to contribute (If you want and the README file doesn't have enough information).Reporting a bug.Complaining about the leak of documentation.Complaining about the absence of some code quality tools. This list isn't final and I'll add more if I got suggestions. generally, you got the idea, it's ca…

Servo Based CNC machine

This is an article about my graduation project, We worked in insufficient resources (money and time), No perfect work should be expected here.

A post shared by Ammar Atef (@ammar.atef45) on Jul 12, 2017 at 5:21pm PDT Idea The idea is to build a CNC with servo motors instead of steppers, Servo CNC's can be better than stepper or vice versa depending on the many parameters, But the idea of the project is to test if we can control and model it from scratch.
Result This playlist has 12 videos of tests we made to get some results, some are successful, and some aren't.

Book You can download the book from here[link], I think everything is well described, You can always contact me for more explanation.

Why you should learn version control

I usually Suggest my followers on social media accounts to learn some techniques to improve their code readability.

One day I found a lot of students think that git or any version control software is not useful, what a surprise for me!!

What is version control? According to Wikipedia, A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.
So normally version control is the process of keeping track of code changes along the time.
What is git? According to Wikipedia, Git (/ɡɪt/) is a version control system (VCS) that is used for software development and other version control tasks. As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows.
Okay, git is just a software and we can't judge it as anything more than this.
Why Github not just shar…

R in the Android

In Android developing you are using res folder to create resources like music, images, layout files and strings.
But when you want to deal with your resources in your program, How can you do this?

If you are using Android studio, the IDE creates for you class names, It is public static have all values you need to refer to your layout.

Where can I find it? okay usually If you press ctrl and click on any class in your code, Android studio opens it for you.

However, in recent versions of Android Studio if you did that with R class it will open the resource file instead of file.

It is okay you can click double shift and search for, you will find more than one, the one we need is the same have your package name.

R class has inner public static classes those have static final integers, but why integers?

Okay all methods you use to refer for resources like setContentView() takes int parameter (you can check their code, Android is open source).

Good Luck.

Detecting obstacles and warning - Arduino, ultrasonic and buzzer

This is tutorial to help you understand ultrasonic and buzzer and go deeper into learning Arduino, follow these steps and give me feedback please.

1. Prepare your material and tools 1. Test Board 2. Ultrasonic sensor 3. Arduino cable 4.  +5V buzzer 5. Male to male pins 6. Arduino uno board
Tools and materials are shown in the pics

2. Connect your circuit          Connect the Buzzer positive terminal to the Arduino pin 2 and the negative terminal to the Gnd.          Connect the VCC pin of ultrasonic to +5v pin and the Gnd to the ground.          Connect trig pin to pin 10 and echo pin to pin 9.          The pictures shows you the connection.

 3. Load the code to your Arduino          You can find code in here, it is well described and commented.          This is copy of the code any way. /*
    This code should work to get warning cross the buzzer when something be closer than 0.5 meter
    Circuit is ultrasonic sensor and buzzer +5v and Arduino uno is used

operating systems for mobile you may think they are not exist

you may know only few operating systems for mobile devices and think there is no more systems available for your mobile,
however there is very much operating systems available for you to download and install for your mobile
i collected list of them for you
Android        have the largest installed base worldwide on smartphones. AOKP short for Android Open Kang Project is an custom ROM which based on Android Open Source Project(AOSP). Similar to CyanogenMod, AOKP allows Android users who can no longer obtain update support from their manufacturer to continue updating their OS version to the latest one based on official release from Google AOSP and heavy theme customization together with customizable system functions. ColorOS ColorOS is based on the open source Android Open Source Project(AOSP) and develop by OPPO Electronics Corp. Currently, ColorOS are officially release together with every OPPO devices and OPPO had release an official ColorOS ROM for Oneplus One. CyanogenMod  is based on t…