whoami

duman

Just kidding. I'm a person who likes to do "cool stuff", you know what I mean? Considering that I'm going to be a Computer Engineer, let me explain it over computer stuff. There are classic approaches to learning something new. Such as opening a book and reading the first chapter in it. Applying examples and such, or following directions of a YouTube video.

I've been there too, but it's not my thing. I have the will to discover more. For example imagine an ATM program, where you enter your •••• to access your account. Seems easy, right? At that point I say, why not I add better security measurements? Such as, if the password is typed wrong 3 times, lock the account and save the information that the account has been locked in a separate file. While the program re-loads say that you've put the card into the ATM back, it checks for the locked accounts file first. So, say goodbye to that account unless you talk to people who have access to the filesystem.

Is it enough, tough? I say. No. I start searching for how to send e-mails from C++. That's how I met external libraries such as libcurl. I learn how to use it and now when the account is locked, the program sends a mail to security@bank.com to notify the necessary personnel. So that, they'll know it instantly and can call the client immediately. Isn't that cool?

Enough? Nope. Now, there's a security camera attached to each ATM. Pretty much it's like that in my country anyway. Don't know about others, but logically it should be like that. At the point of the account lock, the ATM also takes a photo from the camera and saves it in a folder, let's say, SECURITY-LOCK-123456-TR. Where 123456 is the number of the account. So that, now we have the moment of lock and the photo of the person who have locked the card.

Enough? I don't think so. The program shows you •••• on the ATM screen instead of 1234, but the machine knows that it's 1234. So that, it also saves another file inside the SECURITY folder. Which includes the attempted passwords. So that the bank personnel will know if there's a great diversity or the person just tried the same password over and over thinking that it was his/her last password. Which might be helpful later on.

Enough? Of course not. Did you think that, I'll stop? Wrong. Now, somehow I need to learn how to .zip a file. So that I can zip the folder SECURITY-LOCK-123456-TR and add it as an attachment to the latest mail that I've sent. After achieving that I can take a breath, because we have come to an end, you may think. The answer is still no.

All the things that we've done so far was only for the part where the user puts the ATM card inside and types in ••••. There's whole lot ahead. Where we can pretty much set anything to match the needs of a customer and benefits the bank at most. The story is so long that I'm tired of typing this.

Now, you know how I think. How I approach the problem and how I learn. I do suggest you the very same. Don't say such things like, how in the world I'll do that many stuff? Yesterday I've just learnt how to sort an array, and that guy is talking about getting image from camera and computer. Zipping them, adding them as an email attachment and sending them over a SMTP grid. Yes. Exactly. I'm saying that. Start by wanting to learn. Rest will come by itself. No need to worry. Everyone starts with knowing so little, but the thing is, if you want to not to be everyone but that one person. You need to work hard for it.

Also, it's not just about programming it's just like that anywhere in our life cycles. If you put your best efforts in it, you'll get the best rewards from it. It's either a material thing, or experience. Sometimes both. You will feel fantastic when you manage to do this at least for once.

So, start now. Start right now by being curious. Imagine a project that you've ever wanted to be real. YOU make it real. Yes, I'm talking nice and all but it won't be that nice through the way. There will be many problems. Many errors. Many mistakes, that may make you feel frustrated and wanting you to abandon the project. Don't. Try to learn from your mistakes. This way, you'll get experience and will be a better "input whatever you want to here".

I hope that this post helped you to get some encouragement to take a step further. Just remember, don't let the frustration and upsets win. You got this. By the time that you've reached reading this far, it's exactly 825 words. I'm tired. Stopping typing right now. When I feel like it, I'll make some new posts. So, if you liked this post don't forget to visit me again. You may find something that gives more experience to you, or something else. I don't know. I can't know.

Stay safe until then. Good luck & have fun in your future journey.

T. Kaan Duman

This article is my 2nd oldest. It is 888 words long