Page 1 of 5 123 ... LastLast
Results 1 to 10 of 43
  1. #1

    [FAQ] How To Become A Coder Overnight

    I code. Because of this, I get asked "How can I do what you Do" a lot. It usually ends in tears.

    DISCLAIMER: if you feel offended in any way by this article, 1) grow a thicker skin, 2) learn not to take things personal, and 3) remove your emotional blocks.

    The very first step to become a coder is this.
    Ask yourself if you really want to become a coder. Really. Do. Ask. Because if you really want to, you wouldn't ask this question. You would be investigating right now, out of sheer curiosity and wonderment. But since you are here, ask yourself: are you prepared to learn (no that doesn't mean "hey kwel ill g00gle this tutz0rz and g3t da skill0rz", it means Study, Study, Study and more... Study!)?

    Oh just a little you say, only what is necessary I perceive, like maybe when I have a spare hour or so. Well in that case, forget it. You'll never learn. Better use your "energy" for more constructive things, like watching TV or impressing girls on the street.

    Reality check: getting any serious "skills" (read, creating code on the fly all by your own, not changing a string in some basesource) requires a lot of time.

    Another reality check: You are probably not one-seventh as smart as I am. This is not an insult or boast. Its a fact. And I have put in countless hours each week, for months on end, to learn programming and to understand How Computers Work (*really* work). Like with all serious study, this I did alone. When a perplexing bug or question poppes up, it is not uncommon I work for 12 hours straight to get to the bottom, often completely forgetting I have to eat, too. There is no teacher to hold your hand. Although you do not need a master's degree in Computer Science, you should expect to invest the same amount of time to become a really good coder.

    If at this point you still feel strongly motivated, proceed.
    If on the other hand you think I'm a self important snob with delusions of godhood, and that you are surely way smarter and can learn it all in a spare hour, by all means, good luck to you.

    A: 42...
    Q: errr....

    Q: what program do you guys use to make the hacks i wanna join you guys with making hacks.
    A: Yeah and I want to fly... oh wait! I got no wings... shit happens

    Q: I'm totally impressed by this awesome black magic and I want to do everything in my power to learn its secrets. But its still a little cloudy to me where I should start; everyone I ask, I get a different answer.
    A: Thats the spirit. If you take care and time to phrase your thoughts in a clear manner people will take you seriously.

    Q:How do I know if I'm up to it?
    A: An honest question. Ultimately its your own decision, but, a good indication would be how well you get along with school. If you really look to yourself, and realize you have to struggle to keep up, it is unlikely coding is the thing for you. If you feel bored (not because you don't care about school-stuff but because it comes (way too) easy to you) at school, then you have a good prospect for becoming a successful coder. In short; you really need to be intelligent, creative, and very inquisitive.

    Q: But I am! Really! But I don't know anything about coding...
    A: Surprise: neither did I when I started We all have to start somewhere.

    Q: I really am all that! Now tell me more; What the bleep is computer programming anyway?
    A: Coding is the process where you generate a logical set of instructions for the computer to execute independently. Generally speaking this involves abstract thinking and problem solving like how to get from A to B in a consistent manner. The collection of specific instructions issued to the CU (Computational Unit) and syntax used to relate those instructions is called a Language.

    Q: So which languages are there for me to learn?
    A: Too many for a single lifetime. There are so many languages devised and revised, each with a particular target audience or problem in mind. There are three categories recognized: Low-level languages, High-level languages, Interpreted languages
    The low or high levelness of a language is understood to mean the level of abstraction used (Others sometimes use how close a language "sits" on the atomic computer instructions called machine code). A low level language program can always be converted into atomic CU instructions, called machine code, with a tool called a compiler. Because a lot of information is lost in this step, decompiling a program is generally not possible, except for small bits, and can only be done using human inguinity (and form a greater part of "hacking").

    High-level languages are more abstract and tend to have greater separation between the language and the machine code. Because of the greater abstraction level involved these are harder to master efficiently and really require the most of abstract thinking.

    Interpreted languages cannot be directly converted into machine code, but instead rely on live ('realtime') interpreter to execute the commands one by one. Although some of these languages are perfectly valid programming languages in their own right, like Python, Perl or Lisp, their interpreted nature make them incompatible with the requirement of hacking to need direct and unfettered access to hardware resources.

    Q: Cool, so which language should I learn (first)?
    A: Many (mostly non-programmers) will say C++. I strongly disagree. There are cases where it might be benificial to start out from C++, but certainly not if you want to learn hack making.

    The language you'll need to master first is C. This ancient language sits right on top of the machine/CPU, and its statements almost always have a direct correspondence with macro blocks of machine code. When you are advancing your C study you'll need to learn how to debug, which inevitably brings you to studying compiled C code and the machine code it corresponds with.

    While it is true that C++ is a superset of C, its a serious error in judgement to use this as an argument to start with C++ right away. It is like reasoning that since a balloon flies too, you might as well start with balloon-flying to become a 747-pilot.

    The fact of the matter is, C++ is Object Oriented Programming gone wild. Not only do you need to know a very great deal about C (read, low level memory management) but also a strong grasp of abstract thought and programming paradigms. So starting with C++ is not the fastest way to go, and it might even hamper further development.

    Q: So what is OOO anyway?
    A: Its just a buzzword to make you sound interesting. All computer programs are inherently procedural. At some point, it becomes clear that its not very efficient to keep pumping out procedure after procedure for mundane tasks. A better way would be to wrap them in an interface that only shows the bare handles needed for the outside world and hide its internals. It would even be grand if you can have more of these things at the same time. Thats called an object, and encapsulating virtually everything in your program is called object-oriented programming.

    So instead of tying procedures to another, you're tying objects to one another....

    But wait a minute, isn't an object just a handsome interface to a bunch of procedures? So aren't procedural and OOO programming interchangable? Yar, Captain. Thats why its a buzzword after all. C for instance provides mechanisms to encapsulate procedures in much the same way OOO does.

    Q: Any languages I should avoid at all costs?
    A: Many, but the most prolific are (Visual)Basic and derivatives. Aside from the small benefit they bring in the way of teaching some rudimentary programming syntax they teach you all the wrong things that will take more time to unlearn then to learn some serious hack-able language. Believe it or not, I once started out as a Basic programmer, so I know what I'm talking about here.

    Steer clear of the .NET plague. Don't let C# tempt you because the bastard has a C in its name. Except for very superficial looks its just Basic in disguise.

    Q: Ok. I see now that C is super. What is the most efficient route to learn C?
    A: Kenneth & Richie's "The C Programming Language". Master that deceptively little book. I strongly suggest to steer clear of 24-hour courses or C in 21 days or every other source that denies you the necessary time needed from the onset. Also beware of the many "examples" floating around; most you'll find are business oriented. Unless you want to die of boredom, avoid those.

    Q: What is the difference between making programs and making hacks?
    A: Writing cheats is very different from writing programs. If you write a program you have full control. When you write a cheat you have to know the ins and outs of how the program to be manipulated/enhanced works, what the entry points are, and how to go about. To a certain extend there are fixed procedures to go about this, but ultimately you have to rely on your own ingenuity to figure out how the game works. This kind of long and patient analysis of hostile code is an integral part of writing cheats that is completely absent for regular programmers.

    Q: How does progress look? I can already program (a little bit) in C and C++ but I want to move on to hack making.
    A: There are two ways. Many coders have been generous and released so-called basehooks and sample sources. These however are only useful to you if you already know how to program, starting out from nothing to basehooks is not advisable. My first entry into cheating was by completely dissecting and learning the ETH source code. I already had a solid understanding of programming and how the game engine works, and started out by adding small features here and there. Eventually those features grew larger and more complex. Ultimately I touched upon the magic sauce of hooking and in the process learned assembler. At that point the entire PC opens up for you and your abilities are unlimited.
    This kind of progress isn't necessary though. It was a personal choise of mine. You can also decide you just want to make a cheat and not bother with the really technical stuff like hooking. Then you can grab a base hook and expand on that platform.

    Q: How skilled can I expect to get?
    A: Assuming you have the required capacity and aptitude, this is directly proportional to the time you invest in it. After a month of putting in an hour each day you ought to be able to write your first small C programs. The time spent learning is not so much the language itself, it is really what is behind the language. Getting that real feel for coding is what takes time. When I have an idea or a problem, my mind automatically spins out the computer logic to make it happen without real effort. It is curious, not too long ago I was still getting pins in my head for even simple things. The brain is a remarkably flexible thing, if you train it incessantly, it can do the wildest things.

    Q: Any final pieces of advise?
    A: When communicating with other coders, respect them. Recognize that they all put a lot of time and effort in their training. Asking them, for example, a stupid question you can find in any faq like this or with a 2 click google search is disrespectful. Writing unstructured, sloppy, lazy, only shows you don't take your question seriously. If you yourself don't take it seriously, why should we?
    If you find yourself in an inextricable problem you've been on for hours, read every doc in reach, and are on the verge of beating your brains out, then you write down very clearly and explicitly, in as few words as possible, what the problem is. You'll find most of us are remarkably willing to help out when approached in a respectful way.

    To avoid confusion, respect is not groveling. It simply means treating others as you yourself would like to be treated. Do you like it when your 6 year old brother demands you do his homework for him?

    If you do persevere, the reward and gratification is truly unprintable.

  2. #2
    Site Admin xHalt's Avatar
    Join Date
    May 2006
    Location
    Belgium
    Posts
    7,916

    Re: [FAQ] How To Become A Coder Overnight

    A definite must-read...
    /stickied
    Mind if I add it to the general FAQ?
    Needless to say proper credits will be given.

  3. #3
    Veteran Member
    Join Date
    Apr 2006
    Location
    Canada
    Posts
    747

    Re: [FAQ] How To Become A Coder Overnight

    well written, well spoken, well explained

    the only thing I thought was off was the title; but, I'm sure I see a hint of sarcasm in it

  4. #4

    Re: [FAQ] How To Become A Coder Overnight

    Nice one
    I am sure it is professionally organized .

    But i am no coder because i failed in the disclaimer task.
    Currently working on a RPG.

    http://crusher.megabyet.net -RPG Develop BLOG

  5. #5

    Re: [FAQ] How To Become A Coder Overnight

    and again kobby strikes!

    Brilliant and indeed, a must read!

  6. #6
    VIP FreckleS's Avatar
    Join Date
    Jan 2007
    Location
    Australia
    Posts
    2,121

    Re: [FAQ] How To Become A Coder Overnight

    I don't think anyone here could call you a self concerned snob, or whatever the words you said...the fact is, if you were you wouldn't of spent your time creating this for everyone...another great job on behalf of kobby!
    "The pain you feel today, will be the strength you feel tomorrow"

  7. #7
    VIP sir3n's Avatar
    Join Date
    Jul 2006
    Location
    england
    Posts
    1,810

    Re: [FAQ] How To Become A Coder Overnight

    yea i agree to that freckles, anyway u put make his homework for him, it should be do his homework for him

    yup im an english dictionary on wheelz xD

  8. #8

    Re: [FAQ] How To Become A Coder Overnight

    I added three more Q/A's. Feel free to slap me on the wrist with things you feel I totally misrepresent

  9. #9
    Veteran Member |MuRDeR|'s Avatar
    Join Date
    Aug 2007
    Posts
    1,066

    Re: [FAQ] How To Become A Coder Overnight

    Great speach,looks like i wont be learning C# then.

  10. #10
    Keep on galloping Azz's Avatar
    Join Date
    Nov 2006
    Posts
    1,223

    Re: [FAQ] How To Become A Coder Overnight

    Quote Originally Posted by jmpnop View Post
    Another reality check: You are probably not one-seventh as smart as I am.


    Good one. Hope it will prevent some people from making threads like "hei i wanna code giev programs?". Thanks

Page 1 of 5 123 ... LastLast

Similar Threads

  1. Looking for a coder
    By milecar91 in forum Software
    Replies: 2
    Last Post: April 22nd, 2011, 10:51
  2. GTX - the best coder
    By capwnt in forum Comedy
    Replies: 2
    Last Post: June 13th, 2009, 13:01
  3. Need a coder.
    By [b2c]WickeD in forum Enemy Territory Cheats
    Replies: 19
    Last Post: May 23rd, 2008, 17:48
  4. !!!need coder!!!
    By [b2c]WickeD in forum Enemy Territory Cheats
    Replies: 5
    Last Post: May 17th, 2008, 19:30
  5. Looking For A Coder
    By Shunli in forum Enemy Territory Cheats
    Replies: 11
    Last Post: January 25th, 2007, 21:06

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •