Aurea Mediocritas
Hi there guys! I’m no new to programming but no expert too, haha. I’ve started with C four years ago then I’ve moved to C++, Java and right now I’m taking a look at C# and some web/script oriented languages. Security is my favorite field followed by OS things in general, my dream job is something between those two areas (maybe a security expert kernel programmer :p ). Right now, I’m really interested in hacking programs and developing bots (mainly for games) - with this I want to improve my skills and knowledge about security and AI. Is there any place I should start? Something I should read or try? I’m really bad at starting things and sometimes I choose the worst/hardest way of doing it. Any help is appreciated.
Orkan
P.s.: I’m also a heavy Linux user and currently in love with Arch Linux
JAYSSJ11- “I’d rather be hated for who I am, than loved for who I am not.”
Hi, jayssj11, I’m taking a look at that right now. Maybe it is silly to ask but is there really a lot of difference from what I can do with Assembly to what I can do with C? I was thinking I should go deeper into C and learn the concepts about how the programs/processes talk with the OS so I could tweak them the way I want.
‘Better’ depends on what you are trying to do. If you are just trying to get something done, easier/faster is probably better. If you want to learn new things, you probably have make it a bit harder on yourself.
Linking to someone is done by writing @name, but note that it doesn’t allow extra characters behind it. This is why I often write @name[i][/i]. The parser used is not very sophisticated. ;)
Welcome to the party @Orkan
Another Linux user here, only difference is that I’m using Gentoo… but I will not start a flame war now, lol ;)
So you decided to follow the same path I chosen when I first started, go the “hard way” man.
I just want to point out one thing, there is really no difference on what you can do with Assembly to what you can do with C… after all you compile your C programs, don’t you?
But, as @dloser said, the amount of effort will vary.
Talking about “better ways” of doing things, I think it is a matter of points of view, I mean, it entirely depends on what you are trying to realize and what are the objectives of the code you are developing (and I’m not copy & pasting @dloser words lol).
You will hear from a lot of people that, if a program work as intended, it is a good program…
I wanna give you a nice little exercise you can do if you want to understand whether it is good to study a little bit of assembly or not:
Write a really simple hello world program in c, compile it and look at the number of assembly instructions that was created, also take a look at the number of bytes of the final executable.
Then write the same program directly in assembly, assemble and link it and check the same things.
I wish you a nice stay here :)
Try programming a microcontroller for a “small embedded” - a car alarm remote, a phone battery monitor, a keyboard controller, fan speed regulator, without using assembly :p . well you can do the above things without assembly too but it will consume more resources .
one last thing skilled human could easily write more optimized assembly than most C compilers could generate ;).
JAYSSJ11- “I’d rather be hated for who I am, than loved for who I am not.”
But I love distro wars @MrCypher**! Let me tell you how good the distro I use is so you can change your mind and starting using it too! :p
Yeah, I’m just realizing how much programming is similar to, e.g., martial arts. There is one right way of learning and improving yourself and that is the hard way. It’s amazing how simple words can make you think about things that were right under your nose all the time but you couldn’t see it! I really apreciate the insight you guys gave me.
I’m going to try that exercise later. Thank you. :)
Haha, that made me laugh :p
I think I’m not using arch mainly because the package manager reminds me the old classic game, wawka, wawka, wawka, chomp, chomp!!
Anyway your distro is a good one and I have nothing to say about it, at least nothing that would eventually start a distro war, but I’m pretty sure I will never leave my trusty gentoo.
I see that you are making some good progress here, keep it up man :)
Tell me about it! When I first used Arch somehow I managed to install the pacman game instead. I was so, so lost when I typed “pacman -Syu” and the game popped out. It took me about one entire week and more or less six tries to install Arch in an usable way (actually the last but one try was usable but I messed up the GPT/MBR and lost my Windows installation [again]). I suffered as much as I learned. And it was a lot!
What caught my eye first was the rolling release thing so I was looking one distro to try out and people on forums said that Arch’s package manager was really good and its community even better. But what I liked most was how flexible and customizable it was. Maybe one day I’ll try another distro for personal use but not today, not today. :p
I wish I had more time to do challs and learn. :/
Haha I know the feeling, I had trouble during my first attempts with Linux From Scratch… luckly I never tried to install a linux distro on a machine with a windows OS, so I never deleted anything in particular.
Actually a good community is something invaluable, I had the opportunity to meet people, or I should say geniuses, that gave me a lot of useful tips and helped me with some issues… I’m really grateful to them cause I expanded my knowledge a lot.