Jeff Duntemann's Contrapositive Diary Rotating Header Image

My Books

Drumlin Circus / On Gossamer Wings

Drumlin Circus / On Gossamer WingsPrint Book ($11.99)
Kindle / Mobi Ebook ($2.99)
Nook / EPub Ebook ($2.99)

The first Copperwood Double combines two short novels back-to-back, each with its own cover, both set in Jeff Duntemann’s Drumlins world. On an abandoned alien planet, 700 castaways from Earth find thousands of alien manufacturing machines, which can produce anything you want…if you know the 256-bit code. The artifacts (dubbed “drumlins”) that come out of these “thingmakers” are themselves mysterious, and seem to understand what humans are doing and perhaps even thinking. 250 years later, drumlins have allowed the unwilling colonists to create a thriving society resembling 19th Century America, with steam power and a very wild West. Some want to use drumlins to repair their starship and return to Earth. Others prefer the life they’ve created in partnership with the thingmakers, even though rumors hold that some drumlins are dangerous and even deadly, or at very least not what they appear to be.
Drumlin Circus: When a circus master’s wife learns how to make smilodons as docile as housecats using a drumlin whistle, agents from the cultlike Bitspace Institute abduct her, hoping to use the whistle to create animal assassins. One of the circus’s clowns, himself a former Institute man, returns to Institute HQ to free Pretty Alice and settle some unanswered questions about his early life. In doing so he sets off an escalating battle between the Circus and the Institute that draws in a coven of witches, a miniature hydrogen airship, and a steam calliope that speaks to the deepest minds of men, animals, and the half-sentient drumlins themselves.
On Gossamer Wings: In a hardscrabble town among the rye fields of the sparsely-populated West, a mute and aphasic teen girl dreams of constructing a flying machine out of drumlins. Lacking the power of words, she has an unobstructed grasp of the mathematics of flight. She also has a mysterious rapport with the thingmakers that allows her to locate the drumlins she needs, even when their bit-pattern is unknown–including spheres of elemental iron and ducted-fan engines running on zero-point energy. Drawn by rumors of unnaturally pure iron, a ruthless Institute agent seeks her out in the hope of harnessing her talent before fearful townfolk expel her from town and destroy her dream of flight.

Cold Hands and Other Stories

Print Book ($11.99)
Kindle / Mobi Book ($2.99)
Nook / EPub Book ($2.99)

Veteran computer author Jeff Duntemann’s second collection of short fiction runs the gamut from spaceflight to mathematically rigorous witchcraft. The volume includes “Cold Hands,” (nominated for the Hugo Award) “Our Lady of the Endless Sky,” “Inevitability Sphere,” “Whale Meat,” “Born Again, With Water,” “Drumlin Boiler,” “Drumlin Wheel,” and “Roddie,” plus a new excerpt from his hard SF nanotech adventure novel, The Cunning Blood.

The Cunning Blood

The Cunning Blood Sample Chapter (PDF)
Hardcover Book (Novel; 360pp.)
Caught violating the Zero Tolerance for Violence laws, Peter Novilio is sentenced to a one-way trip to Earth’s prison planet in the Zeta Tucanae system. Hell was forever: Its ecosphere had been infected with microscopic nanomachines that destroyed electrical conductors, condemning its inmates to a neo-Victorian steam-and-gaslight society without computers, spaceflight, or any hope of escape. Peter had in fact been framed by Earth’s paranoid world government, and is offered a pardon in return for conducting a reconnaissance mission to Hell and back. There were hints that Hell was developing impossible technologies or had somehow evaded the wire-eating nanobugs entirely. How he would return from Hell was a secret known only to his grim mission partner Geyl Shreve. But Peter had a secret as well: He was a member of the outlawed Sangruse Society, and in his blood flowed the Sangruse Device, Version 9, the most powerful nanocomputer AI ever created. Although supposedly Peter’s protector and advisor, the Device answers to no one but the Society’s mysterious leader, and has reasons of its own for visiting Hell. Peter soon discovers that he is little more than a disguise, caught in a covert war among Earth, a revolutionary group bent on overthrowing Earth’s government, Hell’s ingenious inmates, and the deadly mechanism in his veins. For as fearsome as it is, the Device itself is afraid – and the fates of whole worlds would be decided by the threat that The Cunning Blood had discovered outside of space and time.

Souls in Silicon

Souls in SilconPrint Book ($11.99)
Kindle / Mobi Ebook ($2.99) Coming Soon!
Nook / EPub Ebook ($2.99) Coming Soon!

Computer author Jeff Duntemann turns his talents to the challenges that “strong” artificial intelligence may face in this, his first collection of SF shorts. Stories include: “The Steel Sonnets”; “Guardian” (Nominated for the 1981 Hugo Award); “Silicon Psalm”; “Marlowe”; “Borovsky’s Hollow Woman” (with Nancy Kress); “Bathtub Mary”; “STORMY vs. the Tornadoes”; and “Sympathy on the Loss of One of Your Legs”; plus an excerpt from his novel of nanotech AI, The Cunning Blood.

“Whale Meat”

"Whale Meat"Kindle / Mobi Ebook (99c)
Nook / Epub Ebook (99c)

In Jeff Duntemann’s only published work of fantasy, two 700-year-old witches in modern-day Chicago must confront a demand from the community of whales living in Earth’s oceans, that their unborn son join in their effort to heal the broken soul of humankind–with death the outcome should he fail. Homeless, hungry, and mostly without hope, Yonnie and Mara find help in some unlikely places, including a young mathematics student struggling to understand calculus, and an alcoholic bum who is much more than he seems.

Assembly Language Step By Step, Third Edition

Assembly Language Step By StepPrint Book
Kindle / Mobi EBook
Nook / Epub Ebook

Now in its third Wiley edition (and fourth overall since the book’s first publication in 1989) Jeff Duntemann’s award-winning newcomer’s tutorial to Intel 32-bit i86 assembly language sets ancient DOS aside forever and goes all-Linux. From the fundamental concepts of computing itself (including hexadecimal math) the book takes the reader through the basics of the i86 instruction set, Linux system access via interrupt 80h and finally calls into the standard C library. Unlike many books on assembly language, the  primary focus is on memory addressing, which the author considers the core skill in assembly programming.

 

18 Comments

  1. [...] course, I have a Drumlins World story concept that involves simple electromechanical wireless voice transmission systems. The [...]

  2. [...] and “Sympathy on the Loss of One of Your Legs.” (Both are in my collection, Souls in Silicon.) In 1978 I wrote a (still unpublished) lighthearted 27,000-word action/adventure hard SF novella [...]

  3. [...] story was “Our Lady of the Endless Sky,” now in my collection Cold Hands and Other Stories. It’s about a slightly clueless Roman Catholic priest who manages to be sent as the Catholic [...]

  4. [...] morning while reading email with an iced coffee in hand that Phil Foglio posted a rave of my novel The Cunning Blood, both on the Girl Genius Facebook page and his LiveJournal. (Thanks abundant to Alice Bentley for [...]

  5. [...] humanity. I caught myself wondering what it would be like if seven hundred million people had read Drumlin Circus. I would probably have a new minivan–and little or no trouble selling Ten Gentle [...]

  6. [...] for other books and magazines over the years. This past year, he did a pair of covers for Copperwood Press, for a revival of the “Ace Double” concept. As for personal projects, he’s been working on [...]

  7. Peprita Heart says:

    Hello Jeff,

    How much longer till your next book on Assembly Language?I have been working through Assembly Language Step by Step with delight.
    Though I am thinking of developing software for 64bit Windows Intel, and a book on this would be helpful.Any suggestions on where I could get detailed reliable information on this?

    High Regards,

    Peprita

    1. Well, that isn’t completely my decision. When the publisher wants a new edition, they contact me, and then I begin writing. I don’t see a new edition on the horizon for a couple of years yet. Worse, I need additional pages to cover 64 bit issues, and the number of pages I have in the book is limited. Unless I can persuade the publisher to go beyond the 600-page mark, I’m going to have to eliminate other material to cover 64-bit assembly.

      I still haven’t seen a book on 64-bit Intel that I respect, especially for people just learning. Most assembly books still on the market are old (mine included) and few devote the space to 64-bit issues that those issues deserve. So I’m not sure what to suggest. Keep looking, and check back here to my blog every now and then. Good luck and thanks for writing!

      1. Anon says:

        What about just putting out a small supplementary book? Perhaps just 100 pages or so?

  8. Brian Tkatch says:

    I read Assembly Language Step-By-Step (first edition, though i seem to have lost it and now own the second edition) for an excellent introduction to Assembly Language. Though i felt the section on binary to be wanting, when it matters, this is the book i recommend for understanding Assembly.

    Great job, Jeff!

  9. Yanis Zidelmal says:

    That’s for sure, it is a really delightful book to read – that, to be honest, I have illgally downloaded-. Furthermore, I would like to talk about the page 244, precisely about these code lines:
    in the .data section

    WordString: dw 'CQ’
    DoubleString: dd 'Stop’

    and the .text section:

    mov ax, WordString
    mov eax, DoubleString

    You seem to mean that the strings themselves are moved by the program into the registers, but in fact NASM treats labels as memory addresses, and in this case the addresses of the strings are the ones moved into eax. I beg pardon if my post is due to my eventual misunderstanding of your meaning, but that is what happens on my machine
    yours faithfully

    1. You may have me on this one. Generally, you need to use brackets to load the contents of a named memory location into a register. That means that

      mov ax, WordString

      should technically move the address at which the WordString variable is declared into AX. However, since we’re talking 32-bit programming here, an address won’t fit into a 16-bit word. I’m up to my eyeballs right now but I’ll play around with this in NASM in coming days and see what happens when you try this. I have to install Linux Mint first because when I dumped XP for Windows 7 recently I got a whole new hard drive for my programming system, and I’m not done repopulating it yet. Check back.

      1. Yanis Zidelmal says:

        You do not need to bother yourself with NASM, neither me nor you are wrong, your book is. Check page 244.

  10. Yanis Zidelmal says:

    Error due to the same misconception in page 310. what is placed in eax by the statement:mov eax, [HexStr] is not the address given to the variable HexStr, it is the string’s first double word.

    1. This is definitely a typo. The brackets should not be there. Something got messed up because the line at the bottom of P. 309 isn’t present anywhere in Listing 9-1!

      I’ll add this to the errata, though there’s not much to be done until the fourth edition, and the publisher hasn’t decided when to proceed with a fourth edition. It’s really not up to me.

  11. Yanis Zidelmal says:

    I do not urge you to correct it immediately – neither does anyone who makes this kind of comment do, I think – simply remember us when starting the fourth edition.

    I am sorry to bother you as I do but, in order for the Sums array to behave as you describe it in page 312, you must remove the quotes away, else the ascii equivalents of the characters are the one bytes going into the array, and in this case, the write system call would print it out right as it is declared, but the array won’t contain the numbers themselves.

  12. Yanis Zidelmal says:

    In contrary to what is stated in page 315 paragraph 3, on my machine, the Index of an array can perfectly be multiplied by numbers that are not powers of two. The problem is that the MOV instruction can only move bytes, words, double words – quadwords on longmode platforms – so you must write these values one byte at a time, or use MOVSB.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>