Aurea Mediocritas

Orkan
9 years ago

1

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

14replies
4voices
259views
jayssj11
9 years ago | edited 9 years ago

0

Welcome aboard , Orkan!

you can start by learning the assembly language .

dloser
9 years ago

0

Welcome, @Orkan**!

The hardest way is not necessarily the worst way; there is a lot to learn on that path. ;)

Orkan
9 years ago | edited 9 years ago

0

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.

dloser
9 years ago

0

You can pretty much do everything in any language. The amount of effort will vary, however. ;)

Orkan
9 years ago

0

Thanks, dloser! (How can I link someone in the forums? I have never been a forum guy)

I have never thought that way… I was used to think that if there’s an easier and full working way (at least on programming) it is a better way.

dloser
9 years ago

0

‘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. ;)

Orkan
9 years ago

0

@dloser** :D

That is like the metaphor I always use to talk about jobs/tools (like trying to use a hammer instead of a screwdriver) but I thought it didn’t apply to programming languages.

I want to learn so I’ll go the hard way, thanks for the advices!

Mr. Cyph3r [MrCyph3r]
9 years ago

0

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 :)

jayssj11
9 years ago

1

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 ;).

dloser
9 years ago

1

[quote=jayssj11]one last thing skilled human could easily write more optimized assembly than most C compilers could generate ;).[/quote]
Don’t be too sure of that. These compilers have some nifty tricks you probably have no clue about. :)

Orkan
9 years ago

0

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. :)

Mr. Cyph3r [MrCyph3r]
9 years ago

0

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 :)

Orkan
9 years ago

0

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. :/

Mr. Cyph3r [MrCyph3r]
9 years ago

0

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.

You must be logged in to reply to this discussion. Login
1 of 15

This site only uses cookies that are essential for the functionality of this website. Cookies are not used for tracking or marketing purposes.

By using our site, you acknowledge that you have read and understand our Privacy Policy, and Terms of Service.

Dismiss