I have just registered and thought it appropriate to introduce myself as well as thank JimmyClif for helping me do so. I'm not exactly sure what happened, but no matter what I did I never got a verification Email. So I Emailed this JimmyClif, who then notified Spook (who I would also like to thank) and thus the problem was solved, whatever it may have been.

At any rate, I must introduce myself. I started programming with Casio graphing calculator (in color!) and as well as inadvertently making me an amateur math wiz, it familiarized me a small bit with programming. Then, I realized the power of the internet and decided to start looking into programming. I tried getting a BASIC language, and the most memorable one I tried was called CH. I'm not sure, but I think it was obsolete by the time I tried it. But whatever. The problem wasn't memorizing the language, but figuring out all the other stuff. The installation itself was huge, and I had no idea what to do. To make a long story worthlessly short, there was no way I was going to do that. Then I started looking into things like Java and C++, C#, etc. Java didn't necessarily appeal to me, so I tried looking into Python. No matter how I read the the book (namely DiveIntoPython), I couldn't understand much if anything. The writer had the idea that he'd throw a whole working program at me so I could deconstruct it instead of what they usually do which is spoonfeed you one command at a time. That was fine, since the conventional approach is just what conventional usually is - boring. But what really stumped me was VOID.MAIN.STRING.ARGS or whatever. Plus all the formatting. Sure you can do an immense amount of things in a few lines, but for a beginner it takes ten minutes to try to format them! Let alone that you have to memorize several thousand weird things like VOID.MAIN.STRING.ARGS and the like before you can do what you WANT to instead of what the book TELLS you to. Then I tried something I perceived as more left-brained like C++. That didn't work well either. Sure it was more left-brained, but to me it seemed to require immense knowledge of human logic. It didn't seem more 'human' at all then a bunch of ones and zeros. All I could see was cout or cin and << and >> and a bunch of other obscure ASCII conventions that would be pointless to remember. I asked a few people about assembly, and received some interesting replies. I was somewhat discouraged from assembly, but I thought I might as well try. So I managed to get an ancient assembly programming book away from a friend of mine. I looked through it, and a few things clicked. I tried looking at more assembly programming resources online, but I still didn't get too far, though at least I was getting somewhere. Then I found an assembler. FASM, namely. I started looking at the examples, and things started clicking more rapidly. Then I looked at the manual. Then the clicking turned into a rasping hum and my brain began to fill with wrinkles. Most of the people I asked about assembly said that you had to know a lot about machine language. I did know a bit, because as well as programming, I am interested in Electrical Engineering and most of my calculator programs pertained to that specific subject. So I guess I was pretty much prepared as far as background goes.

From there, I registered to Devshed and got a memorable reply from one of those noting that I was starting programming in assembly. It went along the lines of "I hope you have an amazing mind for logic". That can be taken as an insult as well as a complement when someone notes that even though logic is supposed to be ultimate, it can be utterly ruthless when not supplemented with that which logic cannot explain. Yes, I believe his words hold some truth when Zero from the Megaman X series states "There are some things that cannot be seen or analyzed as data; They must be felt". But that's just me getting all philosophical when no one hardly cares. At any rate, I think I'm doing fine and that's all that I care about until someone convinces me otherwise.

So what all else am I interested in other than obscurely illogical philosophy and logical ruthlessness? I like writing. You're not surprised, are you? Me and my brother are known in the forum world for making huge blocks of text that fill up your browser window and leave pitifully small space for anything else. So, when I'm idle, I succumb to the RPG section of Animeforum.com. There people appreciate it more, and I'm almost always sure I'm not annoying someone. I have seldom turned to the realm of art, since art takes much time, which I could be using to program my own algorithms (still a form or art, though, no?).

The above abnormally large blocks of text plotted permanently in the fabric of time, is there anything else that may be remotely interesting about me? I'm thirteen years old, if that's interesting. I also have a turtle named Squeege (squee-gee). That one's got an interesting story behind it. Beyond this, though, I'm afraid there's nothing much to separate me from all the other teenagers out there.

Feel free to ask questions,

- keantoken
Posted on 2007-07-21 15:27:52 by keantoken
Welcome, keantoken :) . Only 13 years old? I'd never have guessed.
Programmings is all about moving data around, looping and doing very simple arithmetics - to ultimately do anything we want. Since with asm all that is not obscured, you can really learn the beauty of programming :) . You don't need much of logic skills, it's all basically extremely simple. The only problem imho is "what do you want to make" :)

"There are some things that cannot be seen or analyzed as data; They must be felt" - just make an appropriate sensor, hook it up with a cpu, and you can :) . It simply currently isn't worthy to throw so much effort programming apps to analyze most things, or some types of sensors haven't been made yet.
Posted on 2007-07-21 16:33:49 by Ultrano

Welcome to the world of misfits :), I remember once during a job interview I was told that in-order-for my career to make any progress I would have to give up that silly notion of programming in assembly as C was the future (to make things worse, this was for an embedded job).  While there me be a billion other languages that allow one to program a task in a simple way when you get right down to it all of these languages just boil down to assembler (well to be more correct machine code but who wants to code in that  ;) ) and thusly by taking the time to learn how to do things in assembler now you are greatly enhancing your knowledge of how things really work (under the hood of all that fancy programming language codes that is) which in turn will give you a more fulfilled understanding of the task at hand no matter what language you chose to use in the future.

Now granted assembler is not always the best choice of how to do things but by being able to either perform the same task in assembler as a HLL or being able to look under the hood of those HLL's and understand what is going on at the assembler level you will save yourself a great deal of pain in the long run when it comes to both debugging and also figuring out how to do new things.

Should you run into difficulties along your journey towards assembly language enlightenment or just have become entangled in the much associated with various system level components and their corresponding specs please feel free to ask as many questions as you need and I am sure that together (meaning all board members) we can work things out.

Now get out their and code  :O and have fun while you are at it.

Posted on 2007-07-22 00:36:45 by madprgmr
Nice that the signup problems were fixed, and welcome onboard :)
Posted on 2007-07-22 05:48:25 by f0dder
Thanks everyone!

Now starting out I may spit out some strange code, and for now it'll definitely be utterly lacking FPU instructions. But I'm sure I'll learn quick, so that may change.

I'm working on building a basic skeleton for all my applications. Right now I'm working on a graphics include file that uses the VBE 3.0 standard for communicating with the graphics card. I've been working on making my line-drawing algorithm that will be capable of drawing anti-aliased lines, though my biggest problem is figuring out the VBE 3.0. I think I'll need to learn more about graphics cards in general before I can fully understand and utilize the VBE 3.0 standards.

My first actual project that will be a standalone application is a physics-based 2D game engine, where perhaps the physics engine will be modular. My brother has named it 'Project FlopNinja' and he was the one who came up with the original idea. The original idea was for a game, but when I figured out I'd need to make a physics engine, I just decided I'd make an entire game engine and see what happened. For now, it seems everything is going fine, and I've managed to get near completion of an interesting code interpreter. This interpreter will interpret code and initialize the game (whatever it is) according to what the code tells it. Currently, the code for the entire game would have to be in one file, but that's gonna change.

Also, call me lazy, but since trying to program for the Windows GUI basically complexifies the entire Assembly language with system calls and the like, I've decided that my applications will be put on bootable disks such as floppies and CDs, so that I don't have to mess with Windows, and plus I'll have lots more system resources to utilize. To test my code I'm gonna use the Bochs PC emulator. At any rate, it's just more fun if I program my own GUI! XD

I'll be posting some code from my projects soon, so you'll get to see how much I REALLY know (may that be good or bad). (;

- keantoken
Posted on 2007-07-22 06:54:45 by keantoken
Development under Windows is less complex than DOS or "pure" from a boot sector, since you have all these wonderful API calls that can do stuff for you, instead of having to re-invent the wheel...

Sure, writing a full GUI app is going to be a bit complex, but it would be even worse if you had to code it all from scratch :)

It can be a good learning experience programming "to the metal", but do yourself a favor and write for windows once you do anything serious.
Posted on 2007-07-22 08:44:10 by f0dder
Welcome to the wonderful world of assembly keantoken. (At times, I wished I was still your age).

and for now it'll definitely be utterly lacking FPU instructions

As an introduction to that subject, you may want to have a peek at the following as a starter.


Posted on 2007-07-22 09:15:12 by Raymond
Ah, I'll start reading that, thank you!

It can be a good learning experience programming "to the metal", but do yourself a favor and write for windows once you do anything serious.

I think I explained it incorrectly... The problem is not that I don't want to bother learning all the Windows stuff, It's that I want to get a firm grasp of what programming purely in assembly is about before I start relying on system calls and stuff. If I immediately throw Windows into the mix, then I'll be relying on Windows for the rest of my Assembly programming lifetime unless I really want to start programming 'to the metal'. When I first thought about programming in Assembly I wasn't thinking about clicking a button in Windows and watching my algorithm do its work, I was thinking about using my algorithm to make a button to click! I want to start my own foundation, and not rely on the one Windows has already created. I'm sure we all know what happens when you rely on Windows... *envisions totally bogus bluescreen errors whilst trying to empty his recycle bin*

That said, I'm already doing something serious. I'm programming in Assembly without Windows. Even if I have to reinvent the wheel, I want to do it. It's not like I'm against what people usually do, but I've found that I'd rather take my own path than someone else's. It often works out better in the long run that way. People are different and their lives should be the same way.

I will eventually start doing some work in Windows, but for now I'd rather leave it be until I feel like it.

- keantoken
Posted on 2007-07-22 11:53:17 by keantoken
hi, keantoken.

welcome and good luck. what you do is great (look at my signature...)
wih you the best, you're still in your early years!

on a side note, i'm interested in your turtle's story :D

Posted on 2007-07-26 09:48:58 by HeLLoWorld
on a side note, i'm interested in your turtle's story :D

Here we go...

Well, it had rained recently and I was at a huge garage sale that was taking place under a huge roofed basketball court, and as we were taking the leftover inventory back to storage afterwards, I picked up a box and then bent over to pick up some strange green and round object which was supposedly some obscure toy sure to be locked up inside some obscure storage unit miles away never again to see the sunlight until an obscure number of decades later. But it was not to be! As I loomed closer to inspect the object, prior to picking it up in one hand, I began to notice the inherent characteristics of organic materials residing within its structure. No sooner had I started to turn it over to inspect it further when a green flipper-like thing extended from its inner cavity and attempted to bat my thumb away. Apparently turtles don't like to be turned upside-down.

When its ownership was secured among me and the other five envious children, and it (the turtle) was placed in a controlled environment, we began to notice strange behaviors. Namely, he would swim madly into the glass wall of the aquarium whenever he was startled (which was quite often). The strange thing was that he would not stop when he hit the glass, but would keep swimming as if he thought he was getting somewhere (which he probably did, since there aren't many inherently transparent solid materials found in nature). While this was going on, his nose would be rubbing against the glass, thus producing sounds such as that of a sponge when you were washing your car windows at a gas station. Since we usually referred to those sponges as 'squeeges', and we were at a loss as for what to name my turtle, my family did what it usually does in tight but inconsequential situations and went with the humorous approach. Thus, he was named squeege, pronounced squee-gee.

As of now, he is staring intently at my back as I write this post, as if he's watching me closely and judging my abilities. It makes me wonder how many syntax errors he's caught me on and how many online videos he's watched over my shoulder. He seems especially interested now that I'm writing about him. One thing's for sure... Turtles are more aware and intelligent than we give them credit for. Case in point: I am his main form of entertainment - he often starts splashing the water around madly in an attempt to get me to look at him, and then stops and looks at me innocently when I do. What's more, he doesn't eat if I give him food when he does this, proving that it's not food he wants. The only reasonable explanation is that he is aware of when my attention is on him, and when it is focusing intently on something else, because he only does this when I'm concentrating intently on something else, namely coding, composing, or browsing. Thus, I have come to the conclusion that aquatic Red Slider turtles, such as mine, are more than half as intelligent as the normal human, possibly more intelligent, though I am not quite sure since I am unable to properly assess such characteristics. Maybe he'll help me on my homework one of these days...


- keantoken
Posted on 2007-07-28 04:22:18 by keantoken
HAHAHA like eating up your homework?  ;)
Posted on 2007-07-28 10:46:36 by roticv
interesting! :D
Posted on 2007-07-28 11:28:30 by HeLLoWorld
HAHAHA like eating up your homework?

Hmmm... Maybe if I don't feed him for a while... *conspires*

Nah, just kidding. :D

- keantoken
Posted on 2007-07-28 13:55:36 by keantoken