Date: Wed, 19 Jan 2005 17:37:05 +1100 From: Murray Taylor <murraytaylor@bytecraft.com.au> To: Ryan Sommers <ryans@gamersimpact.com> Cc: Street Chaman <street_chaman@hotmail.com> Subject: Re: - I A - (was Kernel mode programming - precisions) Message-ID: <1106116625.6683.799.camel@wstaylorm.dand06.au.bytecraft.au.com> In-Reply-To: <41EDE66A.6020301@gamersimpact.com> References: <BAY15-F37FA470A30D557E1DFE66099800@phx.gbl> <41EDE66A.6020301@gamersimpact.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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.***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1106116625.6683.799.camel>