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

From: Murray Taylor (murraytaylor_at_bytecraft.com.au)
Date: 01/19/05

  • Next message: Sven Ahtama: "nForce3 NIC on 5.3 (i386)"
    To: Ryan Sommers <ryans@gamersimpact.com>
    Date: Wed, 19 Jan 2005 17:37:05 +1100
    
    

    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.***
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
    

  • Next message: Sven Ahtama: "nForce3 NIC on 5.3 (i386)"

    Relevant Pages

    • Re: forth in forth
      ... it takes a good brush to produce a good oil painting. ... I assume it does so if you see a good painting you consider it ... When I look at a good oil painting, it is the skill, creativity, ... In principle any turing-complete language can produce any computation ...
      (comp.lang.forth)
    • Re: Java is slow!
      ... then much broader brush testing that the applications of ... that language work. ... I am not sure I understand what this "broader brush" is. ... never heard of anyone "testing that the language itself works", ...
      (comp.lang.java.advocacy)
    • Re: Are procedure turns really required?
      ... >It's clear that whoever drafted the language in the explanation needs ... >to brush up on his or her written English skills. ... It is also unclear whether the drafter even checked with the TERP's people ...
      (rec.aviation.ifr)
    • Re: The Lisp Curse
      ... in a less efficient language, ... I am saying that we can use those cycles to provide value to the ... How can we leverage this to ... letting us leverage facilities that exist in the higher-level language ...
      (comp.lang.forth)
    • Re: for your languages
      ... which I replied that it is also possible for a higher-level language to be ... tied to an architecture, ... language is equivalent to a macro assembler", ...
      (comp.lang.c)