JF Nav
JF Nav
Creation Date: 2003-03-01
This is the function of a First Person-Third Person Camera for OpenGL.
// 3rd person cam, simple as that!
    glTranslatef(0.0f, 0.0f, -5.0f);
// Camera Angle: yaw and pitch
vRt = m_pPathA->getPosition(m_fTime);
glRotatef(vRt.z, 1.0f, 0.0f, 0.0f);
glRotatef(vRt.y, 0.0f, 1.0f, 0.0f);
// Camera Position: x y z
vPt = m_pPathL->getPosition(m_fTime);
glTranslatef(-vPt.x, -vPt.y, -vPt.z);
What is the Path? It is the handler of the core of AS3D. It is what makes smoothness in AS3D Camera. It has a list of Accelerated Particles. You might notice that I use two paths: m_pPathL and m_pPathA. PathL is linear (aka position) and PathA is angular (aka rotation). With this, you can see simply that AS3D has five degrees of freedom. The final degree of freedom is denied because I don't like it. ^_^ Roll is useful, but not me not now. Where is roll used? Walking (if you want to be technical...), leaning, diving to the side, barrel roll, and dying. These things are not useful in Manga Director right now. They might be useful in the future, so it isn't a problem to do it, but I get tired of useless features. I'm a useful feature person myself. Like: a third person camera. Which is what I did today.

I have a few teenage friends who want to learn to hack. We talk about cool stuff and the latest exploits, but they don't know the requirement of programming. I started programming at 10 or so, 11 years ago. My first program was written in FoxPro DOS, before Win 3.1 even came out. Yup, I was hardcore way back then. I moved on to Visual Basic. Sadly, I never touched C/C++ until my second year of college and I learned it in a week. Having programmed Visual Basic to the limit (DirectX8), I found C++ very inviting. I have been working in it since. I've learned PHP and wrote the tool that I'm using right now to write this up on (in HTML, really using XMLDOM). I even learned enough Python to write a few hello world programs. I'm the master of itty-bitty javascript in webpages. Like the dropdown box to the left. Click "Goto Scene" and it'll do something _amazing_ if your browser supports it. I'm guessing that since it works in KDE Konqueror and IE4+ (even Lynx works mildly well, but it doesn't drop down a list), it should work elsewhere. If not, there's a link at the bottom of the page called "Page List" which works in every browser. Programming is essential to hacking; It may not be a prerequisite, but it certainly is a requirement. So what does a hacker do with programming knowledge? A 3D webcomic, a huge website, an operating system, an ogg tagger, a script that checks slashdot.org for news that interests the person and automatically posts a troll (^_^ j/k). A hacker uses programming knowledge to check PGP for errors without learning the hard way. A hacker can take source code and produce a desired effect with a program. A hacker can take binary and find the pattern to make it do something that no one else can, using programming knowledge.

If you want something done on a computer, a program will do it so that you don't have to. It will allow others to do what you can do and it will allow everyone to produce far more than what each person alone can make. This is the role of the hacker in cyberspace: create power, use it to create a desired effect, and distribute it. My reasons for creating JF is because I want to create power, beauty, and understanding and distribute it. The more people on the internet that do this, the more power there is available and thus those who are able to tap even a small part of this amazing resource will become the most powerful people in the world. For what purpose? To each his/her own. The thing is that this power does not help governments, rulers, destroyers, or even mischevious children. It helps each person as much as they can get. If you can't write a program, you can't access quite a bit of the power that is out there (mainly in the form of uncompilable source code). If your OS doesn't have a compiler freely available, you can't even access compilable source code. If your OS doesn't support binaries compiled on a different OS, you don't even have access to compiled source code. I am a hacker programmer dual-booting Linux and Windows (Linux as the main, Windows as the backup), so I have access to nearly the whole range of source code out there. I can't run Unix/Alpha/Solaris/WinXP programs, but there are none that I have found a need for yet that do not compile on Linux or Win98. So if there was a ranking of hacker power on the internet, 1 to 10, what would I be? I don't know enough i386 assembly to program myself out of a box and my programming technique is not stupendous. My use of tools shows my background as a scripter. I know tricks to using the net. My box isn't entirely secure, but is in the 90th percentile at least. A person would have to be an 8 to get into my CPU and they would only find Open Source stuff. I'm working as a hacker (writing GPL hacks) in a Physics Lab for research credit right now. I nearly have a Bachelor's Degree in Physics, so I'd say that I'm at 4 on a logarhithmic scale. I'm pretty happy where I am. I'd like to help others on more mainstream Linux GPL projects, but AS3D is about as mainstream as I get for a while. When I get a job, I'll be a serious professional hacker.

So I want to help my young hacker friends learn to program. I'll have a surprise for them in store on the sixth of March. I'm going to give them diskettes with programs that I want them to hack. In a month, they will give me the diskette back with the program hacked and written up. How can someone create something to be hacked? I'm going to write a full description of what needs to be hacked from my program and what they should tell me. Here's the list:

Take a Quake C script program and convert it to an object-oriented Python module. Requirements: full documentation of Python code, explain use of each function and variable. Bonus: write a Python program that uses the Python module to make a mob walk around in some recognizable fashion outputted to the console.

Take tcat (tar.gz std_out program) source and binary and find how to break it. Bonus: find out how to fix it.

Take an uncompilable and buggy z-order function (sorts indexed floats) and make it work. Show some type of proof (test program, Python convert, mathematics, by hand, whatever). Bonus: make a faster routine than the original function.

Take cpp_arg library (inputs command line arguments from int main(int argc, char *argv[]), outputs an easy to use C++ object) source and binary and find how to break it. Bonus: find out how to fix it.

Hack the Microsoft Visual Studio .NET C++ vcproj and sln files. (This is what I did for my first lab job, it took approx. 2.2 months using c++ and a makefile generator called CMT). Find out how to create both using platform independent tools. Hint 1: Python and PHP both have XML DOM parsers/writers. Hint 2: it can be done with a Bash script (or dos .bat file) and cat or tcat if you're crazy enough. Bonus: make a universal vcproj/sln writer given an arbitrary text file with a list of project files. Bonus Hint: Python would be the only choice I would be willing to make.

Anyone who can do these either from this website or that I know already deserves to be called an elite hacker and a powerful 'nix guru. Completing one of these would put you on level 2 or 3 of the logarhithmic 1 to 10 public danger scale. Completing all of these won't get you to level 4 (where I am takes a dozen years, as I've carefully pointed out), but a few years of hacking will make you a force to be reckoned with.

You may notice that I took this idea from the wonderful hack test sites out there. I liked them and I passed many levels of them before I was stumped on the high level ones. I decided that I could make a few based on my favorite legal hacking moments. I don't do illegal or even immoral hacking, btw, but I do secure and defend myself and others against them which makes my favorite illegal hacking moments those in which other hackers, crackers, or script kiddies are doing something interesting, yet illegal/immoral. Breaking the DMCA is very easy, by the way. Breaking the CF&AA takes about an hour or so. Breaking international terrorism laws requires a minute and a brain. Breaking the Geneva conventions? A few hours. Hurting someone by doing the things listed above: impossible. That's right. It is quite impossible to hurt anyone with a computer. Let's think about this for a moment: you sitting at your desk typing at a Unix console. You're ftping to a server with ip address 123.321.1.1. You accidentally shut off someone's pacemaker. ^_^ If someone's pacemaker has an ftp port open and is connected to the internet, you making a connection and uploading mp3s is not the problem. The pacemaker has the problem being insecure. This hasn't happened because they don't give pacemakers wireless connections to the internet. If they did for some terrible reason, they would make it so secure that a nuke wouldn't turn it off. More realistic hurt: Kevin Mitnick invaded corporate research and development computers stealing sensitive data for his own uses. He never sold or destroyed the data. These companies had to destroy and rewrite everything on those computers in case he did put viruses in the computers. It ended up costing serious $$. But Kevin, the scapegoat he is, saved them the far greater cost of having industrial rivals or seriously malicious people steal/destroy/trojan the data. An insecure box is a box that you want to be hacked. Sadly, so many people run Windows machines that are extremely insecure. One can't really use the same logic since people don't have a choice that they can trust (Linux has not yet gained the trust of the lusers). Hacking the average Windows box is like taking candy from a baby. Hackers can (and sometimes do) use this to their advantage. While abuse of this should be against 'the law', my definition of 'the law' differs from non-hackers view quite a bit. IMHO 'the law' of the net ought to be hackers defending the public. There are a few lone guns, but most fear that defending the networks has been made illegal by the CF&AA. This is left to interpretation. Two notable attack/defense issues were Dalnet and SDF DDoS attacks. Two very positive resources were taken down by unknown hackers and while both services will survive, it's very uncool. Quite a few hackers have been working on defending these resources but are having trouble due to the sheer effectiveness of hacking. If allowed any illegal/immoral means, it makes sense that the defensive hackers could knock offline every one of the attacking computers using a similar DDoS attack. The people hurt by that would be people whose computers have already been trojanned. So I'll leave you with this: We are without nationality, race, or creed, based on developing a life for ourselves where we will not have to live in fear of a world that hates us for who we are. We will develop our world without victims, slaves, or collateral damage. We will cross boundaries and we will create new solutions for ourselves and for the world, for we are hackers.
JF Nav
Home Characters Making Of Technical Mail News Links |< First < Prev Next > Latest >|  bandwidth version Goto Scene