Press "Enter" to skip to content

Posts published in “Featured”

My Novels and Nano

centaur 0

SO! I love to write, and four of my novels are published - FROST MOON, BLOOD ROCK, LIQUID FIRE, about magical tattoo artist Dakota Frost, and JEREMIAH WILLSTONE AND THE CLOCKWORK TIME MACHINE, about steampunk heroine Jeremiah Willstone.

You can read about the published ones at my Novels page, but even though life got a bit away from me this year, I haven't stopped writing - I have six more finished novels in the editing queue, not to mention half a dozen more in process.

And every single one of these novels, published or not, was largely written in National Novel Writing Month in November (or its sister challenge Camp Nanowrimo in April and July).

Nanowrimo is a 501(c)(3)that helps people find their creative voices - and certainly helped me transition from mostly not-writing to writing over a million words of fiction! (Way over, now).

Every year, I donate to the Nanowrimo foundation to help them not just keep the lights on but to support young writers everywhere with their Young Writers Program. This year, consider helping them bring literacy and creativity to more people all around the world!

-the Centaur

GROW, Every Day

centaur 0

So I read a lot and write a lot and occasionally edit what I write and even more rarely, something gets sent to an editor and turned into a publication. But this seems slow, for always there are more thoughts that I have in my head than I seem to have time to put onto a page and share.

Also I seem to get stuck in ruts. Actually I like ruts - I’m in one now, eating near my house and bank and pet food store at a restaurant with really good iced tea - but only ruts that are good for getting things done, like ruts in a well-trodden road.

When ruts leave you spinning your wheels in the mud, it’s time for a change. This can be as simple as engaging the locking hubs on your stuck all-wheel drive truck to get out of the mud, but you have to know that those locks are there to engage them. (True story).

So in order to grow, you need to learn. But if you learn, and you don’t tell anyone, then when you die, what you learn is gone. Fortunately, at the dawn of history humans learned how to speak to the dead, if only the dead are first willing to share, through their stories.

I don’t recommend waiting until you’re dead to tell your story. (Most people find that disturbing). Instead, it’s better to organize your thoughts - to reflect on what happened, what you’ve learned, and to package it the lesson with its context so it’s easy to share, like knowledge in a little case.

But I don’t do that all that well. I read for entertainment, and I occasionally write things down, but I rarely reflect, and I even more rarely share. But in my attempt to grow, I’ve read some things that made me think, and it made me want to find a way to make me share.

I like to LEARN, of course, usually some technical material related to writing or my job, and I’m now consciously reading books to GROW, like Art Matters by Neil Gaiman or It’s Not How Good You Are but How Good You Want To Be by Paul Arden. But I don’t take time to ORGANIZE those thoughts, nor do I seem to take time to SHARE them. That made me think.

I already take time to LEARN and GROW. I’ve already decided I need to take more time to ORGANIZE my thoughts, to be a better scientist. Can I also take some time to SHARE? Maybe I can put all those together into, like, an acronym! And that acronym will help me do it!

Okay, then, let’s go: LEARN-GROW-ORGANIZE-SHARE. LGOS!

Well.

That’s a terrible acronym.

Alright, alright, if first you don’t succeed, go home and rethink your life. Or something like that, like rethink your acronym. LEARN and GROW need to come before ORGANIZE and SHARE, but G is a better thing to start a word with, as GL or GR is a more common start than LG.

And I’m doing it to GROW. So perhaps it could be GROW LEARN, or GROW READ, naturally followed by ORGANIZE. That gets us GRO, which followed by S for SHARE is one letter short of GROSS; but what if instead we got to the point, and said what we have to do: WRITE.

So, here’s what I recommend to you (well, actually, to me): take some time every day to

  • GROW yourself by
  • READing to learn,
  • ORGANIZing your thoughts, and share them by
  • WRITING

GROW-READ-ORGANIZE-WRITE: GROW. Why, that’s nicely recursive: GROW to GROW! Since it is recursive, let me try this GROW thing out with this very GROW thought.

There.

How did it go?

-Anthony

How to be a Better Writer

centaur 0

A notebook in a bookstore coffeehouse, with coffe.

About four years ago, one of my colleagues at work found out I was a writer and asked, "So, tell me Anthony, how can I be a better writer?"

I don't claim any special wisdom in this department, but I do claim two things: first, that I have opinions about the matter, and second, that I wrote a long email to my friend about it, an email which I thought I'd posted on my blog. Unfortunately, after an extensive search, I wasn't able to find the post.

Now, I could attempt to clean this email up prior to posting it here, but I'm afraid that if I do that, I'll just end up going several years without posting it.

SO! Here's that email, largely unedited, on "How to be a better writer!"

Sorry it took so long to respond to your question about how to be a better writer - I thought I wrote an article on this on my blog, or perhaps in an email to a friend, but if so, I couldn't find it. Then I tried to write a long response, but that turned into something book length. So let me give you the short version.

  • First, just write! That's the best thing anyone can do to become a better writer. Ten thousand hours of practice can build mastery in almost any skill, so the first thing you can do to help yourself is to write regularly - preferably, about whatever comes to mind, so you're not trying to practice when you're on the spot.
  • Try morning pages. The best tool I know to help people get into the habit of writing is to write morning pages - writing, each day, ideally when you get up, three pages in a notebook. Write bla bla bla if you have to - you'll get bored of it quickly, and will write what comes to mind.
  • Take a creativity course. The book The Artist's Way is one of the most famous of these, and it's what inspires me to suggest morning pages. Actually, I've never finished this course - I always get so energized just trying it that I get sucked off into my own projects. Try one that works for you.
  • Read more than you write. You can't consciously choose the words that come out as you write them; they come from your subconscious. So it's important to feed your subconscious with a lot of interesting material to help you generate a lot of interesting material of your own.
  • Read great writing of the type you want to create. What you enjoy reading most might not be the writing you want to emulate most, so hunt down the great writers of the type of writing you're aiming for, read them, and try to figure out what you like about them - and what makes them tick.
  • Read great books on writing. The first two I always recommend to people are Ayn Rand's (yes, that Ayn Rand) The Art of Fiction and The Art of Nonfiction. More than any book I've ever read, the Art of Fiction boils down what makes good fiction writing. John Gardner's On Being a Novelist is another great, but there are so many of these it's hard to pick one.
  • Read great books on style. The two I recommend to people the most are The Elements of Style by Strunk and White and Building Great Sentences by Brooks Landon. Strunk and White is the classic, and Building Great Sentences is its antidote. If you have to pick one, pick Building Great Sentences - hands down.
  • Do writing exercises. There are many, many of these - The Artist's Way has some, at Barnes and Noble you can find dozens of books like 500 Writing Prompts or Creativity Bootcamp that have others; the important thing is to try different writing styles on.
  • Try timed challenges. Write to the End (writetotheend.com) tries 20 minute writing challenges; Shut Up and Write ( meetup.com/shutupandwritesfo ) tries (I think) an hour; National Novel Writing Month (nanowrimo.org) tries 50,000 words in a month. These cure you of the notion you need to wait for your muse.
  • Join a writing group. Not a critique group - those are dangerous until you get more confidence in and acceptance of your own writing (and a thicker skin). I already mentioned Write to the End and Shut Up and Write, but there are many more (even some at Google, such as the Creative Writing Lunch).
  • Take on writing projects. Write novels, write stories, write essays, write memoirs, write documentation, write songs, write plays, write poetry, write haiku, write impenetrable postmodern explorations of what it means for something to be writing - but take on a writing project that has a beginning, middle, and end ...
  • Finish what you write! This is so important I wanted to write this earlier, but the problem is, it depends on what you're writing for. If you just want to improve your skill, reading Strunk and White might do it - but if you want your writing to go further, you need to finish what you write.
  • Don't edit while you write! Some people do this very well, but most people have two modes: producing text, and refining text. Unless you're very confident in your ability to not rework the first paragraph of something forever, make sure you first finish, then edit. But before you do that ...
  • Let your manuscripts cool off. It's hard to have perspective right after you've finished something. At least sleep on it, if you have time; ideally, come back to a story after a week or two and see if what you wrote before still makes sense to you and does what you wanted it to. In the meantime ...
  • Work on something else. Start something new. Creating a new work has an almost magical way of solving problems you have in the work you have cooling on the back burner. Your skills improve, you're not invested in your old ideas, and you come back with a fresh start.
  • Revise your work! Give your manuscript at least a once over. I guarantee, it's not perfect. The books Self Editing for Fiction Writers or The Elements of Editing can help you with this task. It's worth working on something a bit until you can't see anything obviously wrong to it.
  • Share your work with a friendly audience. You're not ready for a critique group yet; they're often way too harsh. What you want are three friendly reviewers: a coach to help with your skills, a critic to help find flaws, and a cheerleader to praise goodness - and if the cheerleader complains, listen very closely to them.
  • Revise your work again before sending it out. Listen to your friendly critics. Revise your work. Make it the best it can be. Then you're ready to send it out - to a critique group if you have to and if you have one, but ideally, to where you want the work received or published.
  • Keep your work circulating until sold. This may not apply to bloggers, writers of memoirs, and internal communications, but if you've got something you want to send to an external audience, send it to as many places as you can. Some great books went to dozens of publishers before getting accepted.
  • Don't argue with your critics. Whether it's a friend, a critique group, or an editor, they're not critiquing you to hurt your feelings. Listen carefully, and perhaps if there's some small misconception, feel free to clear it up, but ask yourself - why wasn't your story so clear that they got it the first time?
  • Solve the problems your critics raise, but don't feel compelled to use their solutions. Humans are great at confabulating fake reasons for the feelings they have. Don't feel the need to use every suggestion your critics raise - but if two or more have problems at the same spot, listen closely.
  • Learn from your genre. Whether it's writing a thesis, writing documentation, or writing science fiction stories, there are documents out there on the pitfalls of the genre and the techniques from success, from How to Complete and Survive a Doctoral Dissertation to the Evil Overlord List.
  • Learn from the style guide. If you're aimed at a particular market, whether it's a science fiction magazine accepting William Shunn's document format, or a book publisher who wants the Chicago Manual of Style, or it's the American Psychological Association, read the style book. With a grain of salt, of course.
  • Learn from publication. Once something is published, take a look at the published work. I can guarantee you, you'll find something about it you'd do differently now, whether it's a typo or a new way to phrase things. Think carefully about this difference and what it can teach you.
  • Find a great critique group. By this point, you've been exposed to enough information to have your own opinions and to make up your own mind - and that's the right time to engage a whole bunch of other opinionated, thoughtful people to get their ideas of how to improve your work.
  • Find a great workshop. These are harder to get into, but put you in touch with great writers of your particular genre or style and can really take you to the next level, if that's what you want.
  • Find a great program - or embark on a great project. If you really want to be a writer, some people suggest a MFA program or other longer-term, intensive course. I simply prefer to take on little projects like 21 book urban fantasy series; these force you to learn some of the same things. :-D
Well, that's about it for the short version. As I said ... the long version's probably a book. :-) I hope this helps! Please feel free to ask me more questions!
And there you have it. I hope that's not a repeat!
-the Centaur

Robots in Montreal

centaur 1

A cool hotel in old Montreal.

"Robots in Montreal," eh? Sounds like the title of a Steven Moffat Doctor Who episode. But it's really ICRA 2019 - the IEEE Conference on Robotics and Automation, and, yes, there are quite a few robots!

Boston Dynamics quadruped robot with arm and another quadruped.

My team presented our work on evolutionary learning of rewards for deep reinforcement learning, AutoRL, on Monday. In an hour or so, I'll be giving a keynote on "Systematizing Robot Navigation with AutoRL":

Keynote: Dr. Anthony Francis
Systematizing Robot Navigation with AutoRL: Evolving Better Policies with Better Evaluation

Abstract: Rigorous scientific evaluation of robot control methods helps the field progress towards better solutions, but deploying methods on robots requires its own kind of rigor. A systematic approach to deployment can do more than just make robots safer, more reliable, and more debuggable; with appropriate machine learning support, it can also improve robot control algorithms themselves. In this talk, we describe our evolutionary reward learning framework AutoRL and our evaluation framework for navigation tasks, and show how improving evaluation of navigation systems can measurably improve the performance of both our evolutionary learner and the navigation policies that it produces. We hope that this starts a conversation about how robotic deployment and scientific advancement can become better mutually reinforcing partners.

Bio: Dr. Anthony G. Francis, Jr. is a Senior Software Engineer at Google Brain Robotics specializing in reinforcement learning for robot navigation. Previously, he worked on emotional long-term memory for robot pets at Georgia Tech's PEPE robot pet project, on models of human memory for information retrieval at Enkia Corporation, and on large-scale metadata search and 3D object visualization at Google. He earned his B.S. (1991), M.S. (1996) and Ph.D. (2000) in Computer Science from Georgia Tech, along with a Certificate in Cognitive Science (1999). He and his colleagues won the ICRA 2018 Best Paper Award for Service Robotics for their paper "PRM-RL: Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning". He's the author of over a dozen peer-reviewed publications and is an inventor on over a half-dozen patents. He's published over a dozen short stories and four novels, including the EPIC eBook Award-winning Frost Moon; his popular writing on robotics includes articles in the books Star Trek Psychology and Westworld Psychology. as well as a Google AI blog article titled Maybe your computer just needs a hug. He lives in San Jose with his wife and cats, but his heart will always belong in Atlanta. You can find out more about his writing at his website.

Looks like I'm on in 15 minutes! Wish me luck.

-the Centaur

 

PRM-RL Won a Best Paper Award at ICRA!

centaur 0

So, this happened! Our team's paper on "PRM-RL" - a way to teach robots to navigate their worlds which combines human-designed algorithms that use roadmaps with deep-learned algorithms to control the robot itself - won a best paper award at the ICRA robotics conference!

I talked a little bit about how PRM-RL works in the post "Learning to Drive ... by Learning Where You Can Drive", so I won't go over the whole spiel here - but the basic idea is that we've gotten good at teaching robots to control themselves using a technique called deep reinforcement learning (the RL in PRM-RL) that trains them in simulation, but it's hard to extend this approach to long-range navigation problems in the real world; we overcome this barrier by using a more traditional robotic approach, probabilistic roadmaps (the PRM in PRM-RL), which build maps of where the robot can drive using point to point connections; we combine these maps with the robot simulator and, boom, we have a map of where the robot thinks it can successfully drive.

We were cited not just for this technique, but for testing it extensively in simulation and on two different kinds of robots. I want to thank everyone on the team - especially Sandra Faust for her background in PRMs and for taking point on the idea (and doing all the quadrotor work with Lydia Tapia), for Oscar Ramirez and Marek Fiser for their work on our reinforcement learning framework and simulator, for Kenneth Oslund for his heroic last-minute push to collect the indoor robot navigation data, and to our manager James for his guidance, contributions to the paper and support of our navigation work.

Woohoo! Thanks again everyone!

-the Centaur

Don’t Fall Into Rabbit Holes

centaur 1

SO! There I was, trying to solve the mysteries of the universe, learn about deep learning, and teach myself enough puzzle logic to create credible puzzles for the Cinnamon Frost books, and I find myself debugging the fine details of a visualization system I've developed in Mathematica to analyze the distribution of problems in an odd middle chapter of Raymond Smullyan's The Lady or the Tiger.

I meant well! Really I did. I was going to write a post about how finding a solution is just a little bit harder than you normally think, and how insight sometimes comes after letting things sit.

But the tools I was creating didn't do what I wanted, so I went deeper and deeper down the rabbit hole trying to visualize them.

The short answer seems to be that there's no "there" there and that further pursuit of this sub-problem will take me further and further away from the real problem: writing great puzzles!

I learned a lot - about numbers, about how things could combinatorially explode, about Ulam Spirals and how to code them algorithmically. I even learned something about how I, particularly, fail in these cases.

But it didn't provide the insights I wanted. Feynman warned about this: he called it "the computer disease", worrying about the formatting of the printout so much you forget about the answer you're trying to produce, and it can strike anyone in my line of work.

Back to that work.

-the Centaur

My Daily Dragon Interview in Two Words: “Just Write!”

centaur 0

So at Dragon Con I had a reading this year. Yeah, looks like this is the last year I get to bring all my books - too many, to heavy! I read the two flash fiction pieces in Jagged Fragments, "If Looks Could Kill" and "The Secret of the T-Rex's Arms", as well as reading the first chapter of Jeremiah Willstone and the Clockwork Time Machine, a bit of my and Jim Davies' essay on the psychology of Star Trek's artificial intelligences, and even a bit of my very first published story, "Sibling Rivalry". I also gave the presentation I was supposed to give at the SAM Talks before I realized I was double booked; that was "Risk Getting Worse".

But that wasn't recorded, so, oh dang, you'll have to either go to my Amazon page to get my books, or wait until we get "Risk Getting Worse" recorded. But my interview with Nancy Northcott for the Daily Dragon, "Robots, Computers, and Magic", however, IS online, so I can share it with you all. Even more so, I want to share what I think is the most important part of my interview:

DD: Do you have any one bit of advice for aspiring writers?

AF: Write. Just write. Don’t worry about perfection, or getting published, or even about pleasing anyone else: just write. Write to the end of what you start, and only then worry about what to do with it. In fact, don’t even worry about finishing everything—don’t be afraid to try anything. Artists know they need to fill a sketchbook before sitting down to create a masterwork, but writers sometimes get trapped trying to polish their first inspiration into a final product.

Don’t get trapped on the first hill! Whip out your notebook and write. Write morning pages. Write diary at the end of the day. Write a thousand starts to stories, and if one takes flight, run with it with all the abandon you have in you. Accept all writing, especially your own. Just write. Write.

That's it. To read more, check out the interview here, or see all my Daily Dragon mentions at Dragon Con here, or check out my interviewer Nancy Northcott's site here. Onward!

-the Centaur

 

 

“Sibling Rivalry” returning to print

centaur 0

sibling-rivalry-cover-small.png

Wow. After nearly 21 years, my first published short story, “Sibling Rivalry”, is returning to print. Originally an experiment to try out an idea I wanted to use for a longer novel, ALGORITHMIC MURDER, I quickly found that I’d caught a live wire with “Sibling Rivalry”, which was my first sale to The Leading Edge magazine back in 1995.

“Sibling Rivalry” was borne of frustrations I had as a graduate student in artificial intelligence (AI) watching shows like Star Trek which Captain Kirk talks a computer to death. No-one talks anyone to death outside of a Hannibal Lecter movie or a bad comic book, much less in real life, and there’s no reason to believe feeding a paradox to an AI will make it explode.

But there are ways to beat one, depending on how they’re constructed - and the more you know about them, the more potential routes there are for attack. That doesn’t mean you’ll win, of course, but … if you want to know, you’ll have to wait for the story to come out.

“Sibling Rivalry” will be the second book in Thinking Ink Press's Snapbook line, with another awesome cover by my wife Sandi Billingsley, interior design by Betsy Miller and comments by my friends Jim Davies and Kenny Moorman, the latter of whom uses “Sibling Rivalry” to teach AI in his college courses. Wow! I’m honored.

Our preview release will be at the Beyond the Fence launch party next week, with a full release to follow.

Watch this space, fellow adventurers!

-the Centaur

Why yes, I’m running a deep learning system on a MacBook Air. Why?

centaur 1

deeplearning.png

Yep, that’s Python consuming almost 300% of my CPU - guess what, I guess that means this machine has four processing cores, since I saw it hit over 300% - running the TensorFlow tutorial. For those that don’t know, "deep learning” is a relatively recent type of learning which uses improvements in both processing power and learning algorithms to train learning networks that can have dozens or hundreds of layers - sometimes as many layers as neural networks in the 1980’s and 1990’s had nodes.

For those that don’t know even that, neural networks are graphs of simple nodes that mimic brain structures, and you can train them with data that contains both the question and the answer. With enough internal layers, neural networks can learn almost anything, but they require a lot of training data and a lot of computing power. Well, now we’ve got lots and lots of data, and with more computing power, you’d expect we’d be able to train larger networks - but the first real trick was discovering mathematical tricks that keep the learning signal strong deep, deep within the networks.

The second real trick was wrapping all this amazing code in a clean software architecture that enables anyone to run the software anywhere. TensorFlow is one of the most recent of these frameworks - it’s Google’s attempt to package up the deep learning technology it uses internally so that everyone in the world can use it - and it’s open source, so you can download and install it on most computers and try out the tutorial at home. The CPU-baking example you see running here, however, is not the simpler tutorial, but a test program that runs a full deep neural network. Let’s see how it did:

Screenshot 2016-02-08 21.08.40.png

Well. 99.2% correct, it seems. Not bad for a couple hundred lines of code, half of which is loading the test data - and yeah, that program depends on 200+ files worth of Python that the TensorFlow installation loaded onto my MacBook Air, not to mention all the libraries that the TensorFlow Python installation depends on in turn …

But I still loaded it onto a MacBook Air, and it ran perfectly.

Amazing what you can do with computers these days.

-the Centaur