by nathandelane on Thu Jun 26, 2008 2:10 pm
([msg=5847]see After All The N-Posts, Think I'm a Different Kind of Newbie[/msg])
So I stumbled across this website, mainly because I was looking up way to hack our own company website. By profession I am a Quality Assurance Automation Engineer/Architect. So I work with Internet technologies on a daily basis. By hobby I have been programming for over 16 years. When I was nine I had an old 286 PC that ran DOS 3.3, there wasn't much to program with that was readily available, but MS-DOS came with two distinct advantages for the avid programming learner - GW-BASIC and debug. After I learned how to use GW-BASIC, I realized that it wasn't taking me where I wanted to go, so I visited the library to check out a book on Intel-x86 machine op-codes and assembly commands. I already knew that I could see the underlying logic of an executable program by running debug on it, and I could already understand the logic of using registers to store data, as well as RAM, and I understood the PC and program stack as well. All I needed was a way to either binarily write a program or assemble it. Debug provided for both interfaces, and though it took a very long time to design and write a decent program using machine code, it was always worth it. Of course nothing ever got above a few hundred bytes.
Anyway, around that time as well, my uncle gave me my first C compiler - Microsoft C and MASM. Sadly I never got into MASM much, but C intrigued me. And so I went to work consuming the books that came with it and writing small C programs. I got myself into lots of trouble by peeking the memory address for various devices, and monitoring interaction response code from my keyboard, mouse, and modem. In school I learned both Pascal and C++ during a number of computer science classes, and Math was always one of my favorite subjects. In my computer science courses I excelled, and experienced my first network-based beat-the-system hacking thrill in that class when the district network systems admin paid us a visit (he was the nerdiest and dumbest suit I have ever met). Later on in my career I learned several higher-level languages in order to more effectively write Windows GUI-based software for my jobs, including Java and C#.NET. Other languages and shell-scripting tools I know and use daily include, BASH, BATCH, VBScript, Ruby, JavaScript, WMI, HTML, CSS, and today I learned about Apache SSI (which I'm embarrassed I never learned before). Here and there I'll have to hack some python or perl, but that is not as common as those other languages, and more recently I've been returning to my roots and learning about high-level assembly language and C/C++ more. (I also take pride in knowing ASP.Net, PHP, and Perl-cgi).
I see a lot of people here asking how to hack, or what language they should learn, and I think back to my first college-based computer science course, Introduction to Computer Science, where I met the first person I'd ever met who I knew would fail at programming, and he did - he was coming from a background in Business Management, had never programmed before in his life, and knew little about how computers operated or what made them tick. I didn't say anything to him at the time, but I was concerned about how well he'd do, because programming isn't all fun and games, and even making a game can be tedious at best - there is a lot to learn before you can get to THAT level. To say the least, he did fail, and I never saw him in any of my successive classes in college (think he went back to Business Management). But if you want to learn how to be a hacker, there are several pieces of paper (website) that you can view, and the most important thing is to learn how to program, have the ever-increasing desire to learn how things work, look at lots of other peoples' code (sf.net is a good place to start for that), and I suppose don't expect to know everything all of a sudden. Hey wait - I'm not a hacker so how can I say that?
Anyway, I'm learning a lot here - I'd have to say that the Beginner Challenges - 1 through 7 were a breeze, but I'm stuck on 8 - please, PLEASE nobody help me though - because I know I'll just feel stupid if you do. Thanks, and I hope that I continue to learn more here. I'm really glad that Google brought me to this site.
Nathan Lane