- I A - (was Kernel mode programming - precisions)

Murray Taylor murraytaylor at bytecraft.com.au
Tue Jan 18 22:37:13 PST 2005


On Wed, 2005-01-19 at 15:47, Ryan Sommers wrote:
> Street Chaman wrote:
> 
> > NOTE: THIS IS NOT A JOKE.
> > 
> > I don't know if it is the right place to post this; I actually don't 
> > know even if I should post this; but, before giving it up because of my 
> > own limits, I have to write down what I was trying to do. Maybe someone 
> > will be interested in; maybe someone will finish it.
> > 
> 
> This is a fine (the best) place to post all the questions you have 
> asked. Few things to note:
> 
> 1) Don't keep changing subject lines. By leaving your subject line as is 
> you aid not only those reading their list mail in a threaded view, but 
> those that search google or the archives have a much easier time 
> following the logical progression of the discussion.
> 
> 2) I'm not sure (nor have I looked) if you are the '- Felix -' that 
> posted about kernel mode programming, but same thing goes as for the 
> subject line; it helps us make sense of the conversation if you leave 
> your From: header line somewhat similar.
> 
> Congratulations on thinking up an idea and trying to put it into code. 
> That can sometimes be the hardest thing to do in a project; seconded by 
> choosing the name of the first source file to write.
> 
> I'm still not sure why timing was so critical for an AI (artificial 
> intelligence) application. However, for something like artificial 
> intelligence I would *definitely* not choose to write it in assembly. C 
> or Java should provide a good higher-level language to begin in. 
> Although I have no real experience in AI, I hear a lot of designers are 
> using languages like Scheme, ML, Haskel or even Prolog, I believe, for 
> this area of computer science. Although if you aren't familiar with 
> functional languages I'm not sure I'd consider this as a first project 
> to undertake in one.
> 
> Choosing a higher-level language could probably save you a lot of hair 
> pulling over assembly. I would write your ideas in a high-level language 
> first. Then once you've thoroughly determined the algorithm isn't at 
> fault through profiling look at the generated assembly and see how you 
> can squeeze out the extra cycles.
> 
> The other benefit is the obvious portability one. Sharing your AI ideas 
> with others will be quite limited if you constrain yourself to a single 
> architecture and ISA.

Hmm I would go 'even higher' -- write down the overall structure of 
what you are planning as a structured 'walkthroughg' in a limited
english (german,french) format.
Effectively 'program' at this highest level first. Read it through.
Again. Again with someone reading it with you to 
make sure that you are following the logic correctly, and not skimming
over a bit 'because you know what it means'. If it isnt written down,
it cant happen as a program.

Once you are this far, then start with a high level real programming 
language (you should be able to develop an idea of an appropriate
language once you refine your 'walkthrough' program a bit.

When you get a computer program running and delivering reasonable
results, then start the profiling mentioned above. 

I reckon that this project is [a] interesting, [b] one that should
start with a broad brush first, then use the medium brush to add
specific items and finally the fine brush for detailing.

(And yes there may be some elements that absolutely have to be
done with the fine brush NOW.... thats ok too, just make sure that you 
do actually join-the-dots later on and include these bits into the
whole picture.)

Have fun ( who said programming isnt art ? )

And dont ever be afraid to ask for help. Someone elses viewpoint
can easily be the key to a mental block you may have.

cheers
mjt



-- 
Murray Taylor
Special Projects Engineer
---------------------------------
Bytecraft Systems & Entertainment
P: +61 3 8710 2555
F: +61 3 8710 2599
D: +61 3 9238 4275
M: +61 417 319 256
E: murraytaylor at bytecraftsystems.com
or visit us on the web
http://www.bytecraftsystems.com
http://www.bytecraftentertainment.com



---------------------------------------------------------------
The information transmitted in this e-mail is for the exclusive
use of the intended addressee and may contain confidential
and/or privileged material. Any review, re-transmission,
dissemination or other use of it, or the taking of any action
in reliance upon this information by persons and/or entities
other than the intended recipient is prohibited. If you
received this in error, please inform the sender and/or
addressee immediately and delete the material. 

E-mails may not be secure, may contain computer viruses and
may be corrupted in transmission. Please carefully check this
e-mail (and any attachment) accordingly. No warranties are
given and no liability is accepted for any loss or damage
caused by such matters.
---------------------------------------------------------------

***This Email has been scanned for Viruses by MailMarshal.***


More information about the freebsd-hackers mailing list