Thursday, December 27, 2012

Kids Code Camp, Austin, Texas, April 22, 2012

Teaching programming -- even to adults, but especially to kids -- presents you with a dilemma, all the more acute when you only have 1 hour to interest your students in the subject. You can take a practical approach: let's create a toy program that does something you like: move, bounce, play sounds. Or you can take a more-or-less exploratory approach: write some simple code, tweak various parameters in the program, and see how the computer responds. It is like having a "stick" -- a programming language -- to "poke" the computer with. What does it do when you issue this, that, and the third command to it, even if those commands don't add up to any eventual goal? I, personally, think the first approach would interest more people (especially children) than the second one. But the first one is harder to achieve. It's not easy to design a course where students would write a program simple enough for beginner to accomplish in 1 hour, but meaningful or entertaining enough to make students want to do more of this.

So it's not surprising that the Kids Code Camp -- a day long series of programming classes for kids -- took the second route.

For the first session, Ron Evans (@deadprogram) from Hybrid Group taught kids to write a few basic Ruby programs with KidsRuby. It's a programming environment that lets you easily write a simple program and run it. And by “easy” I mean it eliminates the overhead of creating and saving files, wondering what directory to save them to, how to invoke the compiler, what libraries to include, etc. It lets you run just the "meat" of the program. Not only you don't have to open a file, you don’t even give have to your program a name. Just type the program in the left pane of the KidsRuby window, and press the button "Run". The output will appear in the right pane.

Or... not.

Ron Evans gives out candy to kids at the Kids Code Camp who answered the questions right.
Ron Evans gives out candy to the kids who answer questions right. Eventually he gave candy to all the kids.

The "little" problem with KidsRuby is that if you make a typo -- for example, don't close a string with a double quote (") -- it doesn't print an error message. Your program just won't run. Needless to say, for beginning programmers this makes it one of the, shall we say, least useful programming tools. If your code won't point out your syntax errors, how are you supposed to know what's wrong with it? You’ll probably lose your interest. The only way a kid could sustain interest in this is if there was an adult nearby with knowledge of Ruby, or basic programming -- or if the kid was a precocious genius, armed with programming books and hell-bent to figure out what's wrong.

Turtle.start do
background yellow
forward 30
turnright 90
forward 50
turnright 90
forward 50
turnright 90
forward 50

-- draws a square.

Turtle.start do
background yellow
pencolor blue
turnright 45
forward 50
turnright 90
forward 50
turnright 90
forward 50
turnright 90
forward 50

-- draws a diamond.

This brings me to another topic. Hell-bent precocious geniuses will eventually figure programming out on their own, but what exactly is the audience to which one should teach? The traditional audience -- kids who are interested in tinkering of any kind, in pressing buttons and typing cryptic commands just to see what they do? Those were the typical kids who studied programming. Or do we also want to teach kids who, like me, would have found such a thing mostly pointless? If, however, someone had shown me what you can make with it -- a finished object, something with a purpose, even if only a toy -- I would have been much more interested. It was via this route that I eventually discovered my interest in programming as an adult.

As I noted above, the purpose-oriented approach is much harder to teach. However, some programming environments lend themselves more easily to this approach than others. One of the sessions at the Kids’ Code Camp explored a graphical programming environment called Turtle. Its commands specify how far a colored dot has to go and in what direction, or how many degrees to turn and in what direction, in order to draw a figure you want. (Sample Turtle code is shown in the sidebar.) So you can fairly quickly learn how to write a program to draw a geometric shape pixel by pixel. I also liked how the presenter explained pixels to kids: put your nose to the screen and see if you see any dots - those are pixels.

Here's the code of What I Did on my Summer Vacation program:

holiday = ask "Which holiday?"
familymember = ask "Family member?"
activity = ask "Activity?"
smallproblem = ask "A small problem?"
puts "It was just " + holiday " "."
puts "I was with my " + familymember + "."
puts "I also went " + activity + "."
puts smallproblem + " but it was OK."
puts "It was a good " + holiday + "."

Writing a program to draw a complete geometric shape may be more than you could learn in 1 hour with Scratch, another children's programming environment that was introduced at Kids’ Code Camp. Scratch doesn't let you manipulate individual pixels like Turtle does. In this environment everything is done graphically -- programming constructs such as loops and variables are colorful interlocking widgets you snap together to “write” a program. It's best suited for creating animations involving a vast choice of cute avatars. It is very handy for explaining such concepts as loops, since you can make the avatar repeat animated motions endlessly. But programming is knowing not just how to create a loop, but how to combine it with other code concepts to achieve what you want. And to do that in Scratch, you'd have to spend more than 1 hour -- especially if you are a kid, especially if you haven't yet learned coordinate system or negative numbers. You have know that in order to tell the avatar where to move. And to get your avatar to move to a precise location, you can only do that with trial and error, by plugging in different numbers and seeing where it goes. Not exactly a riveting activity...

At one point, though, the curriculum of Kids’ Code Camp showed a hint of purposefulness. While teaching Ruby, Ron Evans introduced a "hack your homework" program. It was a ~ 10-line KidsRuby program that asked you "where, when, who, what" types of questions, and plugged your answers into a cookie-cutter essay: "Last summer I went fishing with my cousin", etc. Then it spat out a finished text that probably wasn’t worse than an average student’s homework. :-)

Wednesday, November 28, 2012

Muscle memory instead of a password? Maybe not for klutzes

Some day we may use muscle memory to memorize a password without even knowing what the password is, says Scientific American. To a lesser degree, we already do that in daily life, when we enter an often-used password. If we are asked to write it down, we might not necessarily remember the exact sequence of symbols. I've known people -- for example, software developers who shared a username and password to the same computer -- that could not tell a new developer the password even when they needed to, because they only stored it in their muscle memory. They could type it in, but not spell it out. Trying to write it down, they would get confused. The (still highly experimental) technique described in this article takes it a few steps further: the password consists of actions you perform in a game. I suppose it could work as long as you use it often, and if you are not a klutz like me. I don't think I could reproduce all the correct key presses every time even if I played a game often. (I am assuming here that in the game they describe, there is only one way to hit the falling dots correctly. If the game was more like Tetris, where there's more than one way to maneuver the falling bricks successfully, this technique would be meaningless.) Still, if I haven't played the game for a week, my skills would have atrophied, so there's no way I would hit the dots correctly at first. Or by the second or third attempt. But most systems worth their salt lock you out after the first three unsuccessful login attempts. So it's interesting how would such a system distinguish between an impostor, and a legitimate user whose skills have atrophied.

Tuesday, November 13, 2012

Pareidolia strikes

I saw this logo on a truck of an Austin party rental company. Immediately I thought, what a weird logo for this kind of business. The dude's beard and the turban would not indicate an ethnic or religious group that's known for partying. :-) And the spike growing out of his eye... just surreal. Has he smoked too many substances? Is that what the company means by "Keep Austin Partying?"

Bird logo that looked like a face to me

Then I realized, it's a bird. That's not a beard, it's a wing. And the "spike" is the bird's beak.

It's no wonder I prefer text-based user interfaces to graphic. I never understood why the icons in a graphical UI are so obscure and hard to recognize. At least to me, perhaps less so to other people. When I was learning image-editing programs, people would sometimes tell me to use the "bucket" (a Fill icon), but instead of a tilted bucket, I would see a hand with a mitten. I also couldn't understand why the old-time Windows Control Panel icon was a cat. Yes, a cat. I realize it's supposed to be a bunch of tools, but all those tools look like long, skinny cat's legs.

With faces, it's even worse. We humans are wired to see faces everywhere. So I won't be laughing at the next person who sees Virgin Mary in a toast.

Sunday, September 30, 2012

Center For Inquiry fiction book club fall 2012-spring 2013 reading list

Update: we will have a meeting in November 2012 -- see below.

Here is the list of books we'll be discussing in the next few months in the CFI Austin fiction book club.

October 2012: Nancy Kress "Steal Across The Sky"


"The aliens appeared one day, built a base on the moon, and put an ad on the internet:

"We are an alien race you may call the Atoners. Ten thousand years ago we wronged humanity profoundly. We cannot undo what has been done, but we wish humanity to understand it. Therefore we request twenty-one volunteers to visit seven planets to Witness for us. We will convey each volunteer there and back in complete safety. Volunteers must speak English. Send requests for electronic applications to"

At first, everyone thought it was a joke. But it wasn't.

This is the story of three of those volunteers, and what they found on Kular A and Kular B."

November 2012: Mark Twain "Mysterious Stranger". In this Mark Twain's last, unfinished novel, a young Satan comes to a remote Austrian village. He claims to be able to foresee the future and informs the group of unfortunate events that will soon befall those they care about. The boys don't believe Satan's claims until one of his predictions comes true.

December 2012: Octavia Butler "Parable of the Sower"

From "When unattended environmental and economic crises lead to social chaos, not even gated communities are safe. In a night of fire and death Lauren Olamina, a minister's young daughter, loses her family and home and ventures out into the unprotected American landscape. But what begins as a flight for survival soon leads to something much more: a startling vision of human destiny... and the birth of a new faith."

January 2012: Michael Bishop "Close Encounters with a Deity" - a story collection.

From "The book's unifying theme is man's concept of the Deity. Bishop's stories intermingle humor, horror, and awe in a manner similar to Vonnegut."

February 2012: Jonathan Strahan, editor, "Godlike Machines"

From "In science fiction, nothing says sensawunda like a Big Dumb Object--a colossal, extremely powerful machine of unknown purpose and origin. It's that feeling that editor Jonathan Strahan was after when he asked six of today's finest authors to write for Godlike Machines. And they succeed brilliantly!"

March 2012: Greg Egan "Clockwork Rocket"


"Set in another universe where light does not travel at a constant speed but instead has a velocity that depends on its wavelength, Clockwork Rocket recounts the personal life journey of an inhabitant in this fictional universe."

"Alongside a taut and well imagined story set in a very alien world - complete with a sympathetic range of characters and a well imagined society - Greg Egan develops an entire alternative physics. This isn't just done in a hand waving way, it is properly worked out. The story of Yalda, the scientist who is the main protagonist, is also the story of the discovery of "rotational physics" in her universe, of the implications of that, good and bad, for her planet, and finally - in the construction of the rocket of the title - the story of the action she takes to safeguard that world."

Tuesday, September 18, 2012

Of programmatic thinking in low-tech situations

These days it's been fashionable to insist that everybody should learn to program. Some argue it's the next kind of literacy (a federal judge who learned how to code could correctly estimate how long it would take to implement a certain function), others say the importance of programming in an ordinary person's life is overblown. There is a vast difference between basic programming knowledge and being a professional software developer. The question is, can this basic literacy have applications in everyday life? Can it improve the life of a non-programmer? I liked this article that demonstrates how knowing how to program benefits even the people who are not programmers. When you have developed a mentality that lets you see many life problems from an engineering perspective, you see how software could help you improve even those life processes that you previously didn't think a computer could solve. It's a matter of thinking algorithmically, of seeing what could be automated. I have a similar problem as the one described in the article. I take lots of pictures of people at conventions and conferences, and there isn't a good way to "connect" photos of strangers with their names (which I forget instantly). However, unlike the casting directors in the article, I have neither assistants with spreadsheets, nor do people parade in front of me one by one like models. I also think that it would be awkward to ask them, after introducing myself, to write their names on a piece of paper, and to pose with it. :-) The best I can do is take pictures of their name tags, but sometimes those are missing, or flipped over to the blank side, or flash bounces off of them in a way that makes them illegible. On the other hand, my tablet allows me to add notes to any picture I take. (Well, I can't add notes to a picture directly, but I can save it to Evernote with a note attached.) So perhaps I'll just have to take two pictures of everyone -- one with the real camera, for quality, and the other with the tablet, for documentation. If a situation is not structured, there isn't much room for a programmatic solution to a problem.

Thursday, September 06, 2012

ArmadilloCon 2012: a summary

Misunderstandings about writers was the topic of the toastmaster's speech at the opening ceremony. Even in these days of decline of published word the general public continues to perceive writers' lives as glamorous. Since the toastmaster shared a personal anecdote, I will refer to him only as T (to keep Google's prying eyes away). One time he told a stranger he played XBox with that he was a writer. The stranger immediately found this suspicious, and started asking T his name, address, and what books he has published. T answered his questions, all the while surprised that his XBox pal didn't think T could just have borrowed someone else's name and biographical facts. And though the XBox pal had never heard of this writer, he said: "Wow! I've never played XBox with anyone famous!" T replied: "You still haven't".

Jeremy Lassen, Martin Wagner, Liz Gorinsky, Robert Jackson Bennett, Joe McKinney, Mark Finn, Matthew Bey, Nicole Duson: teachers at the writers' workshop
First row: Jeremy Lassen, Martin Wagner (speaking); second row: Liz Gorinsky, Robert Jackson Bennett, Joe McKinney; third row: Mark Finn, Matthew Bey, Nicole Duson -- teachers at the writers' workshop. See more pictures from ArmadilloCon 2012 in my photo gallery.

Writers' workshop. There are many ways to express how a writers' critique group can help you, and many of them involve self-deprecatory humor, which is apropos in anticipation of your "brilliant" story being trounced. For example, they might tell you when there's a toilet in your kitchen -- metaphorically speaking.

The writing game required us to smell, taste, and touch various items while blindfolded, and list 5 positive and 5 negative adjectives about each smell, taste, or texture. It was a mostly futile occupation for someone like me with only a rudimentary sense of smell or taste.

Nancy Jane Moore, Kevin Jewell, Marshall Maresca, Jessica Reisman, and Madeleine Dimond on the 'Workshopping to Success' panel
Nancy Jane Moore, Kevin Jewell, Marshall Maresca, Jessica Reisman, and Madeleine Dimond on the 'Workshopping to Success' panel. See more pictures from ArmadilloCon 2012 in my photo gallery.

Workshops are multifaceted things, and the advice given in them is not always helpful, as noted in the "Workshopping To Success" panel. Sometimes a critique group that points out a toilet in your kitchen simply doesn't understand the architecture of your home. For example, it may be a group of fantasy writers all into dragons and elves, but you don't write that kind of fantasy, and they'll be bored with your work. Perhaps you shouldn't bring your work into a critique group that thinks your whole genre is one big toilet? Or perhaps you should! Show your drafts to people who don't read your genre to see if you can keep them entertained. That's what Mary Doria Russell did. She showed the first draft of "The Sparrow" to her aunts, who only read mysteries, but no science fiction. And they kept reading it.

Another thing to note is that you need a different critique group for a novel than for short stories. You need first readers who are in it for a long run. If you bring new chapters of your novel to an open-to-all critique group, you'll see new people at every meeting. Those people will read the chapter and say: "I have no idea what's going on, but let me tell you what I think".

Kenneth Mark Hoover, Bill Frank, and Bob Mahoney on the panel on writing hard science fiction
Kenneth Mark Hoover, Bill Frank, and Bob Mahoney on the panel on writing hard science fiction. See more pictures from ArmadilloCon 2012 in my photo gallery.

Writing hard science fiction. Why base a story on science fact? If you do so, you disarm people who say that "it" will never happen, "it" being the subject of your speculation -- for example, a total surveillance society. How much scientific or technical detail to put in a SF story? A good rule of thumb is this: you can mention how a headset works, but don't elaborate on the wiring, unless it plays part in electrocuting your character's brain.

Another thing reading and writing hard science fiction can teach you, is to think through what-if scenarios. It's a great life skill, says Bill Frank -- both at work and in personal life. Before you start a project, you can learn to identify potential points of failure, and come up with alternative plans.

Robert Jackson Bennett, Elizabeth Moon, Chris N. Brown, and Madeleine Dimond on a 'Social Impacts of New Technology' panel
Robert Jackson Bennett, Elizabeth Moon, Chris N. Brown, and Madeleine Dimond on a "Social Impacts of New Technology" panel. See more pictures from ArmadilloCon 2012 in my photo gallery.

Social Impacts of New Technology. Madeleine knows a professor who gives his students every 15 minutes a connect-break in class, when everybody is allowed to use their gadgets to check their email, etc., otherwise they'll get too anxious and distracted. Audience is shaking their heads in disbelief.

3-D printing has been on everyone's lips lately, and just a week before ArmadilloCon came an announcement that 3-D technology now makes it possible to print guns. Most people in the audience found this development chilling. Elizabeth Moon thinks that since such printing requires lots of energy, law enforcement officers might look at who is consuming lots of energy, to get clues as to who is printing guns. Robert Jackson Bennett is not sure how viable 3D printing is, given that power is going to get much more expensive in the near future. (My Twitter friends responded that you should be able to run such a printer off of solar energy.)

Chris N. Brown is hopeful about a future where technologies could be brought down to "garage level", and anyone could build surveillance drones in their garages. That way we should able to monitor what the police is doing as much as it monitors us. A woman in the audience noted that abundance of garage-level technologies might renew interest in science among American school children, 70% of which currently say science is too hard.

Ari Marmell, Bev Hale, Madeleine Dimond, and Matthew Bey on the 'Story ideas I don't want to see again' panel
Ari Marmell, Bev Hale, Madeleine Dimond, and Matthew Bey on the "Story ideas I don't want to see again" panel. See more pictures from ArmadilloCon 2012 in my photo gallery.

"Story ideas I don't want to see again" panel quickly got bogged down in trivial stuff, as the panelists started complaining how they never wanted to see skimpily dressed women on book covers again.

-- Why can't healthy, loving relationships ever be discussed in genre fiction? Quick answer: healthy relationships are too "boring" for fiction, because most fiction is fueled by conflict. Bev Hale then said that there are some science fiction works that portray loving relationships -- for example, Lois Bujold Miles Vorkosigan series or Firefly.

-- Some of the relationships tropes that the panelists DON'T want to see again are "The fate of the whole world depends on these two people getting together, and their relationship is more important than the whole world", as well as "I'm so special that there is no mere man who is worthy to be my mate. He has to be a werewolf or vampire."

-- We also don't want to see rape universally used as "something bad that happened in the heroine's past that made her come back stronger", says Ari Marmell. Too often it's used as a lazy character-building shortcut, as if there was no other adversity that a woman protagonist could possibly experience and overcome.

-- Another trope we don't want to see: white people go to another planet and save the natives.

Al Jackson, John Gibbons, Alan Porter and Paige Roberts / Ewing on the 'Is Interstellar Space Travel Possible?' panel
Al Jackson, John Gibbons, Alan Porter and Paige Roberts / Ewing on the "Is Interstellar Space Travel Possible?" panel. See more pictures from ArmadilloCon 2012 in my photo gallery.

"Is Interstellar Space Travel Possible?" John Gibbons pointed out that there is a perception that the problem with interstellar travel is the speed of light, but in reality getting close to the speed of light is not even a question. A fusion bomb-powered spaceship would take an amount of fuel the size of a small planet to reach even a 10th of the speed of light. There's no way to do it on a planetary energy budget. The only way to do it is to colonize the solar system first, and to gain a solar system-sized energy budget.

A common science fiction scenario, generation ship, was also discussed on the panel. Paige Roberts doesn't think a generation ship would have much chance of arriving to the destination and colonizing a distant planet, because over many generations the people in the ship might evolve or progress to the point where they don't remember where or why they are going; or don't care. Or that they wouldn't overuse their resources. It's unlikely that they'll stay the same and faithful to their purpose. Alan Porter also thinks it's implausible.

So, sad to say, we did not brainstorm new and promising ways to get out to interstellar space.

Jaime Lee Moyer, Patrice Sarath, Rhiannon Frater, Chloe Neill, Michael Bracken and Katherine Eliska Kimbriel at the Writing Strong Female Characters panel
Jaime Lee Moyer, Patrice Sarath, Rhiannon Frater, Chloe Neill, Michael Bracken and Katherine Eliska Kimbriel at the "Writing Strong Female Characters" panel. See more pictures from ArmadilloCon 2012 in my photo gallery.

"Writing Strong Female Characters" panel was thoughtfully moderated by Patrice, who asked good questions.

-- Rhiannon Frater says: mothers in fiction are typically portrayed as weak characters, though in reality mothers defending their children can be fierce and heroic.

-- Can male writers write believable female characters? Michael Bracken says he's pretty sure he can, as he had plenty of strong women in his family.

-- Kick-ass women protagonists as lone wolves with no female friends is a damaging cliche.

Raven as Elizabeth Shaw from Prometheus
We don't get many costumes (read: almost none) at ArmadilloCon, but here is Raven as Elizabeth Shaw from Prometheus. Who, one could say, IS a strong female character. See more pictures from ArmadilloCon 2012 in my photo gallery.

-- What does a strong character mean anyway, even when speaking about males? Rhiannon Frater said that some guys who read her fiction said her male characters sound like normal guys one would like a barbecue with, but the men in her critique group criticized her male characters for not being a Rambo. It seems too many people think that in genre fiction a strong character has to be a cliche.

What sciences haven't been used yet in science fiction?. I didn't even take a picture of the panelists, because this panel reached an all-time intellectual low in my memory of ArmadilloCon. It happened when a certain poet (I don't know why he was on the panel, because he didn't seem to have a clue about science) said that a new "scientific" idea that still hasn't been used was a spaceship powered by "emissions" from eating Mexican food. Moderator Madeleine Dimond tried hard to keep it on track, and in fact the panel later recovered from the poet's verbal emissions. We had a brief, but interesting discussion whether cyberpunk fell in the realm of computer science, or not -- Madeleine agreed with me that it didn't, and that real computer science is one of those very underutilized sciences in SF. Another guy in the audience suggested cyberpunk takes a transhumanist approach, without being necessarily scientific.

In the style of the "Gorilla of the Gasbags" challenge, Madeleine issued her own challenge to the audience -- to write a SF story based on an underused science. She let everyone who wanted to draw a slip of paper with a science on it. I drew alien psychology. That shouldn't be too hard -- I'll just base the story on my own psychology. And the best thing, we have two years to submit our stories for the challenge, because there won't be an Armadillocon next year.

Monday, August 27, 2012

Book review: Charles Yu "How To Live Safely In A Science-Fictional Universe"

seudo science fiction with a certain melancholy beauty -- that's what we concluded about Charles Yu "How To Live Safely In A Science-Fictional Universe" at the Center For Inquiry book club discussion. It is pseudo science fiction, because while it has science fiction trappings, most of it is author's exploration of how he feels about things. It felt self-indulgent, and for a good reason: the protagonist is the author himself, or at least his namesake. That's not to say that many of us wouldn't be able to identify with the protagonist sometimes. He is a technician who travels in a time machine, and attends the most heartbreaking moments of people's lives. It also means that he doesn't spend almost any time in the present -- most of his life is spent outside time, and he is a stranger in his own era. His capsule, barely big enough to stretch out, is completely bland and featureless. I was all the more surprised that I found its description compelling. Something about it resonated with me. Could it be because many of us spend most of our days in similar blank rooms, a.k.a. office cubicles, performing actions that are, in a way, outside of time? Their impact on other people is softened by many layers of infrastructure, depersonalized, not traceable directly to us. So it's not hard to identify with the protagonist's alienation. I found his father, a quietly brilliant, stoic, underappreciated Asian engineer, to be a more vivid character than the protagonist himself. But that may be just because I identify with an immigrant engineer's experience. That said, the explorations of the character's psyche did not make up for plot shortfalls. It seemed that the author intended for the time-travel mechanism to make sense (it wasn't just a vessel for psychological exploration), but in that sense it failed. At the end, we are expected to believe that the protagonist resolved a deadly time loop he accidentally created. But the ending is so ambiguous that we didn't understand what was going on. It's as if the author tried to hand-wave over the fact that no real resolution was possible. This book has a few interesting science-fictional tidbits, which I can't really call ideas, since they are way too undeveloped. For example, what does it mean to time-travel by grammatical tenses? Or what does it mean to live in a universe that's only 93% installed? Each of those ideas could be tantalizingly interested, if properly developed, but in the book they are just throwaway sentences. One of the book club members said that while he enjoyed the book enough, he wouldn't recommend it except to someone who really wanted a "different" kind of science fiction. This book may be best enjoyed for its melancholy mood, an exploration of a father-son relationship, and a tragedy of a brilliant, but modest person without an ability to sell himself well (the father). That last plotline is where the book really shines.

Wednesday, August 01, 2012

ArmadilloCon 2012: What You Should Have Read in 2011 - 2012

A bunch of authors, editors, critics and booksellers discuss their science fiction, fantasy and horror picks of the year.

It's worth noting which of the books or authors got a nod from more than one panelist. This year those were N. K. Jemisin The Kingdom Of Gods, Kameron Hurley God's War and Infidel, Will Macintosh Soft Apocalypse, and anthology Welcome to Bordertown.

Below are each panelist's recommended books, and his or her comments about why they are worth reading.

Willie Siros's recommended books

Margaret Atwood In Other Worlds: SF and the Human Imagination

N. K. Jemisin The Kingdom Of Gods and The Killing Moon. -- N. K. Jemisin is one of the most amazing new writers. She has strong ties to Africa, and writes in non-Western ways. The structure of her novels are so amazingly different than what you find in American fantasy.

Ian McDonald Planesrunner -- When someone decides, after a lifetime of writing hard SF, to write a teen novel, it's interesting to see how he's trying not to talk down to the reader. We, adult readers, have seen many science fiction and fantasy tropes, such as alternate realities, but teens might have not seen them yet, and require a different approach.

Neal Stephenson REAMDE".

Bruce Sterling Gothic High-Tech -- short story collection.

Francis Spufford Red Plenty -- Willie called it "my epic fail of the year", though it wasn't clear to me why, because his comments about this book were quite flattering. It's a novel about Soviet space race, and it's not clear whether it's science fiction -- maybe not, says Willie. It could be secret history. In any case, having lived through American space era, it's very interesting to read the same events from the other side. We in the US thought American space program got it wrong, but Russians also thought THEY got it wrong, and had to go back to the roots of Marxism to start over.

Terry Bison Any Day Now is another big secret history novel. It starts out with the usual version of the 1960s, but then you discover that Kennedy doesn't die, and the story drifts just further and further from our history. Willie says that he was amazed by Terry Bison's sense of inertia in history. It's hist best novel since Talking Man.

Laird Barron The Croning -- a horror novel.

James S. A. Corey space series Caliban's War -- American writers trying to retake space opera from Alastair Reynolds and Peter F. Hamilton and other Brits.

Kim Stanley Robinson 2312. You can see it as a sequel to Mars trilogy, or not, as you wish. But, according to Willie, it is Robinson best novel since Mars.

Charles Stross Apocalypse Codex is the 4th Laundry novel, and it's as strong as the 1st one. Much stronger than the 2nd and 3rd.

Jeremy Lassen's recommended books

Lauren Beukes Zoo City -- She is an amazing writer from South Africa. She got a handle on the non-western-European future science fiction.

Mark Lawrence, Prince of Thorns -- Really weird fantasy series. The setting makes it unique.

N. K. Jemisin The Kingdom Of Gods, and the rest of her The Inheritance trilogy.

Jo Walton Among Others.

Michael Swanwick Dancing With Bears

Greg Egan Clockwork Rocket, a start of a new trilogy, and no, it's not steampunk.

Kameron Hurley God's War -- another real science-fiction book. Incredibly unique setting, a cast of characters that features strong women taking control of their hyperviolent world. The wold is ruled by a Queen, all men are sent off to war. So it's just old men, and women, and children running this world.

Will Macintosh Soft Apocalypse -- very depressing, a gut punch of a book. It looks at Apocalypse as something that happens not with explosions, but with lowered expectations, something that happens when unemployment reches 40% and Walmart runs out of stuff. The protagonist's life just gets grimmer and grimmer. It's a hard book to read.

Rob Ziegler Seed. It's similar to Paolo Bacigalupi's "Windup Girl", but with faster pacing, and with more likeable protagonist. Rob and Paolo live in the same small town, so it's an interesting bit of serendipity.

As an aside, someone from the audience recommends Paolo Bacigalupi's Shipbreaker as being much better and with nicer characters than Windup Girl.

Rudy Rucker Jim and the Flims, in which Rudy Rucker comes to terms with his own mortality.

Geoff Ryman Paradise Tales, short story collection from Small Beer Press.

Holly Black and Ellen Kushner, ed. Welcome to Bordertown, an anthology. They rebooted the Bordertown anthologies, which were urban fantasy before urban fantasy was created, and got a whole new cast of writers.

Jeremy Lassen, Bill Parker, Willie Siros, Michelle Muenzler, and Bev Hale on What You Should Have Read in 2011 - 2012 panel.
Jeremy Lassen, Bill Parker, Willie Siros, Michelle Muenzler, and Bev Hale on What You Should Have Read in 2011 - 2012 panel. More pictures from ArmadilloCon 2012 are in my photo gallery.

Bill Parker's recommended books

Ernest Cline Ready, Player One. Ernest Cline is native to Austin. This science fiction novel is set in 2044, and society has changed quite a lot. One character is a game designer from the 80s, and there are lots of references to 80s music, movies, and culture. It takes you through the game industry in little bits and pieces that are plugged into the story. By 2044 a game company has shut down, and opened up with a new product they called Oasis -- a virtual reality world. Kids don't go to school anymore -- they study in the Oasis. People don't go to the office, they work in the Oasis. One character lives in a trailer park, where trailers are stacked 30-high. The gist of the story is that the creator of Oasis has died, and left 3 Easter eggs for people. Who finds them, becomes rich. The story is about people who are looking for eggs, while an evil corporation wants to find them and make everyone pay for Oasis (which is currently free).

Some readers from the audience mentioned that there are also 3 Easter eggs in the book, and whoever finds them can win a prize.

Michelle Muenzler's recommended books

Haruki Murakami 1Q84 -- a very long and intricate story, that's very Murakami in the sense that every detail in it is very important. You can't just skip over chunks of text, because every detail is needed in order to understand what happens.

Johnathan L. Howard Johannes Cabal The Detective.

Ayize Jama-Everett The Liminal People -- a novel about underworld people who have powers, but you wouldn't consider it a superhero novel. It's a bit more gritty, realistic than most superhero novels Michelle has read. The protagonist's daughter disappears, he tries to track her down, and gets entangled with people with horrible powers.

J. M. McDermott When We Were Executioners

Martha Wells The Serpent Sea and The Cloud Roads -- very creative, vast world-building. Exploration of crazy-ass alien cultures clashing and interacting.

Jason Heller Taft 2012 -- hilarious, brilliant book. President Taft disappears, and 100 years later he wakes up on the White House lawn. The book is extremely fast-paced. It has Twitter conversations discussing his political views.

Kameron Hurley Infidel

Will Macintosh Soft Apocalypse

John Love Faith -- a massive battle, a dance between two spaceships, really fun.

Stina Leicht And Blue Skies from Pain

Rose Lemberg, ed. The Moment of Change -- a speculative poetry anthology. Very story-oriented poetry, resembles Year's Best SF anthologies.

Bev Hale's recommended books

Kage Baker Best of Kage Baker.

Holly Black and Ellen Kushner, ed. Welcome to Bordertown.

Pip Ballantine and Tee Morris Phoenix Rising -- steampunk.

Jim Butcher Ghost Story.

Rachel Caine Bite Club and Last Breath -- the last of her two Morganville Vampires books.

Gail Carriger Heartless

Kendare Blake Anna Dressed in Blood

Laura Anne Gilman Pack of Lies

Laurie R. King The Pirate King

Seanan Mcguire Discount Armageddon

Kim Newman, Professor Moriarty: The Hound Of the D'Urbervilles -- a spin-off of "Further Adventures of Sherlock Holmes" series, where Sherlock Holmes got retired, got married, and still doing stuff. This book has Professor Moriarty as protagonist.

Tim Powers Hide Me Among The Graves

Cherie Priest Hellbent

Ransom Riggs Miss Peregrine's Home for Peculiar Children

John Scalzi Fuzzy Nation and Redshirts -- Bev Hale liked Fuzzy Nationbetter than she liked Redshirts, though both were fun.

F. Paul Wilson Nightworld

George R. R. Martin and Gardner Dozois, ed. Down these Strange Streets -- an anthology.

Willie's recommendations of books that are very new, or are yet to come out

Neal Stephenson, Greg Bear, and a couple of other authors The Mongoliad -- because Neal Stephenson has an obsession with swords.

Mark Teppo Sinner: A Prequel to the Mongoliad, and Earth First

Terry Pratchett and Stephen Baxter The Long Earth. Someone said it would be funny if Terry Pratchett wrote the science in that book, and Stephen Baxter the characters.

Iain Banks Stonemouth and Hydrogen Sonata. The latter revels bits and pieces from the beginning of the Culture.

Robin Maxwell Jane: The Woman Who Loved Tarzan -- a Tarzan novel written from Jane's point of view. Burroughs estate gave Robin Maxwell, an award winning historical writer, access to Burroughs notes about Tarzan's backstory.

Saturday, July 21, 2012

Throw a non-sequitur grenade, or social strategies for introverts

The other day at the Center For Inquiry Austin non-fiction book club we discussed Susan Cain's "Quiet: The Power of Introverts". All the 8 people in the room self-identified as introverts. We told personal stories of extreme social avoidance (one person, as a teenager, asked his/her parents to turn down an invitation to a school dance on his/her behalf), and debated whether Neil DeGrasse Tyson is a rare example of an extroverted scientist, or if he only acts as an extrovert as a public figure. We also discussed how the workplace and the rest of the society can be hostile to introverts -- that's one of the points the book brings up. "Open" office plans, a.k.a cubicle farms, don't so much facilitate collaboration, as keep introverts from getting work done; in brainstorming exercises, the most dominant person's ideas usually get pushed through, no matter their quality, and the quieter people's ideas not heard; and we won't even mention the horror of various "professional development" and "team building" events, which, as several members attested, did absolutely nothing for their professional growth.

(Myself, I was lucky enough to get exposed to a team-building event just once. It was lead by a motivational speaker who made us play little games -- the bane of introverts -- the purpose of which was to demonstrate some simple and obvious idea. For example: write your name 5 times with your dominant hand. Now write it 5 times with your non-dominant hand. Did it take you much longer? Does it look like chicken-scratch? See, it shows that it's easier and faster to do things you're naturally good at, and much harder to do things you're not good at!

I started out with an open mind. I considered that all those games and exercises, all the platitudes they were designed to express, might add up to some genuine insight. But I lost hope for any such revelation, when I saw the speaker struggling to explain the concepts of "form" and "content". Apparently she thought that we -- a group of programmers and other technical people, who earn their daily bread from abstract thinking -- didn't already know these concepts. Moreover, she thought we would find them hard to understand without a concrete object analogy. So she looked around with urgency in her eyes, grabbed a cup from the table, and raised it, saying: "Form is like this cup, and content is like the water in the cup." After that, I pretty much tuned her out.)

CFI Austin non-fiction book club CFI Austin non-fiction book club. More pictures from CFI Austin can be found in my photo gallery.

But back to the discussion.

We also touched upon the appeal of cults, and (at the risk of making it sound like an extrovert hate fest) speculated about how much stock market crash can be indirectly blamed on extroverts, their irrational confidence making investors believe that this market bubble was different. The discussion often deviated from the book (which is just as well, because I haven't read it), but this was one area where everybody in the room had personal experience with, and sharing that personal experience was even better than discussing the book.

Since ~ 75% of society are extroverts, most social conversations flow in such a way that people don't stick to any one topic for more than a few sentences, touching it superficially, and moving on to another topic by association, not because it logically follows. For an introvert, who think *before* they speak, and speak only when they have something to contribute, such a conversation becomes meaningless. By the time they are ready to share their well thought-out point, the conversation would have moved on. So, are there any strategies for an introvert to make social interactions more self-friendly? Some people suggested to interject a complete non-sequitur. Like a grenade, it will cause some chaos in the conversation: "Huh? What did she just say?" And then the introvert can make a point they're trying to make.

Tuesday, June 26, 2012

Pipelined motherhood

Not long ago a friend, referring to my second child (who just turned 1), asked me how my second round of motherhood was treating me. He tried to use a computer metaphor for it, so he put it as "how is serial motherhood going?" Then he immediately admitted that this metaphor was inaccurate. It's not really serial, because I'm raising two children, not one at a time. You could say it's parallel, but that doesn't convey the idea of going from one child to two. So, pausing for a bit, he decided it could be called pipelined motherhood. Since I haven't heard about pipelined architecture, which (as a very oversimplified explanation) lets computers run tasks in parallel by starting them at different times, I thought about it in UNIX pipe terms. So I asked: "Do you think I feed one child the output of the other?"

Friday, March 30, 2012

When our machines talk to one another behind our back

What do toys do when children go to sleep? These days your childhood fears get a legitimate incarnation when your grown-up toys -- gadgets, apps, software programs -- start talking to one another behind your back. Case in point:

Facebook comment coming from out-of-office email autoreply

One woman went on vacation, leaving an email auto-responder reply to her emails. Somehow it found a way into Facebook, as a comment on a post. Clearly, the auto-responder replied to a notification from Facebook, but it's kind of headscratching what exactly it responded to. I don't see that this woman had previously commented on this post, so why did she get a notification about it? Well, maybe the author of the photo tagged her in this photo (as some clueless people do to make sure that their friends really, really look at their pictures). That would explain it. Oh, the fun our machines have when we're not around.

Monday, March 05, 2012

An internet radio by any other name sounds just as sweet

Many music streaming services have popped up over the years -- Pandora,, Spotify. I tried some of them, and didn't even bother with others, because I became convinced that the good ole' Youtube has everything I need.

Most streaming services don't have the artists I listen to, and not because the artists are super-obscure. Well, they are, but not the hipster-kind of obscure. They are unknown to most people because of the genres they perform in: medieval, folk, or world music. Pandora and (at least two years ago, when I tried them) had almost nothing in those categories. But even the most arcane taste is represented on Youtube, where some obliging souls have uploaded records from my favorite early music groups -- Ensemble Organum, the Huelgas Ensemble, Anonymous 4, you-name-it. And if you add your favorite tracks to a playlist, it will play continuously without stopping, with no interruptions, and without commercials (unlike Spotify). And it will play exactly the artists and songs you selected, not the artists that are "like" them, the way Pandora does. Pandora is no good if you want to try an artist you haven't heard before but your friends rave about. I want to hear the songs by this specific artist, not ones that are "like" him or her.

YouTube lets you create an internet radio station -- even if it doesn't call it that -- exactly according to your tastes. So unless it changes its business model (hopefully not), I won't be subscribing to new music streaming services.

Thursday, February 23, 2012

Center For Inquiry fiction book club selections for the first half of 2012

April 2012

H. G. Wells "The Sleeper Awakes" -- a short novel about a nineteen century Englishman who falls in a deep sleep only to awake over two hundred years later.

May 2012

Nnedi Okorafor "Who Fears Death"

-- "The young sorceress Onyesonwu -- whose name means Who fears death? -- was born Ewu, bearing a mixture of her mother's features and those of the man who raped her mother and left her for dead in the desert. As Onyesonwu grows into her powers, it becomes clear that her fate is mingled with the fate of her people, the oppressed Okeke, and that to achieve her destiny, she must die. Okorafor examines a host of evils in her chillingly realistic tale'gender and racial inequality share top billing, along with female genital mutilation and complacency in the face of destructive tradition -- and winds these disparate concepts together into a fantastical, magical blend of grand storytelling." -- a review from

June 2012

James Blish "A Case of Conscience"

-- "The citizens of the planet Lithia are some of the most ethical sentient beings Father Ramon Ruiz-Sanchez has ever encountered. True, they have no literature, no fine arts, and don't understand the concept of recreation, but neither do they understand the concepts of greed, envy, lust, or any of the sins and vices that plague humankind. Their world seems darned near perfect. And that is just what disturbs the good Father."

-- "A fast-paced, intelligent story that offers plenty of action while at the same time explores complex questions of values and ethics. In this case, Blish has taken on the age-old battle of good vs. evil. Lithia poses a theological question that lies at the heart of this book: is God necessary for a moral society?" -- reviews from

July 2012

Brandon Sanderson "Mistborn"

A description of this novel on calls it a mystico-metallurgical fantasy. I heard it has an unusual and well thought-out magic system. An attempt to create a "scientific" magic system might make this book of interest to CFI readers who like fantasy.

August 2012

Philip K. Dick "VALIS"

-- "When a beam of pink light begins giving a schizophrenic man visions of an alternate Earth where the Roman Empire still reigns, he must decide whether he is crazy, or whether a godlike entity is showing him the true nature of the world."

-- "From the cancer ward of a bay area hospital to the ranch of a fraudulent charismatic religious figure who turns out to have a direct com link with God, Dick leads us down the twisted paths of Gnostic belief, mixed with his own bizarre and compelling philosophy." -- reviews from

Saturday, February 04, 2012

Movies: The Dangerous Method

"The Dangerous Method" is a movie about Carl Gustav Jung, and his complicated relationships with two people: Sigmund Freud, his colleague and mentor, and Sabina Spielrein, his patient and lover. It was not a bad movie, but I expected more of it.

While it touched upon Freud and Jung's friendship and rivalry, their diverging methods of psychoanalysis, and their eventual breakup, its primary focus was Jung's affair with Sabina. Not that it was a bad choice, given how vivid is the character of the crazy and brilliant, but mostly brilliant Sabina. Like most people in this story, she was a real, historical person, a young Russian Jewish woman who met Jung when she was mentally ill, was enormously helped by psychoanalysis, and later became an innovative psychiatrist herself. Keira Knightley's acting is a bit overdone in the "crazy Sabina" scenes, though it's amazing how such a beautiful actress contorts her face and body into such ugly poses. Overall I think she was great in this role.

Speaking of actors that were not so good in their roles: professor Aragorn! And not just because of his Lord of the Rings fame. Viggo Mortensen as Sigmund Freud just didn't compute. Every time I saw him on screen, it pulled me out of the story. Even with the "authentic" makeup, hair, and beard, Viggo looks nothing like Freud, at least in the pictures I've seen. His acting wasn't convincing either. He played Freud with all the same cliches that denote a sophisticated man of a bygone era: slow, drawn-out sentences, half-closed eyelids, a pipe permanently stuck in his teeth. It's like I've seen this character on the screen hundreds of times, and I don't even watch that many movies.

For a movie about the birth of psychoanalysis, it oddly lacks intellectual content. Considering how Jung's ideas about archetypes and collective unconscious captivated the public (even if they later fell out of use; even so, writers and artists still derive inspiration from them), they get surprisingly little mention in the movie. There is a scene that suggests that Jung's notions of anima and animus were planted in his mind by Sabina: in one of their conversations she says there is something male in every woman, and something female in every man. And so the movie removes the last reason for a viewer to believe that Jung was famous for anything other than his polyamorous lifestyle, or wacky paranormal beliefs (he thought he was capable of premonition). He is a vivid, conflicted and sympathetic character, but it's not clear what he was notable for.

A movie about Jung that didn't concern itself with any of his intellectual contributions, but only with his romance with a patient, was like... why, it's like a fantasy novel that focused primarily on an exchange rate between Elvish gold and dollar.

Then again, I shouldn't criticize the movie too much. We are talking here about historical figures that achieved a mythical power in and of themselves, and their lives cannot be squeezed into two hours of screen time. To tell a story about them requires ruthless picking and choosing.

Saturday, January 21, 2012

Sometimes a problem pounces upon your brain...

Sometimes a mathematics / computer science problem pounces upon your brain, and takes possession of it for half the day -- at least until you figure out that its general case does have a solution. Then you finally escape its clutches, feeling that you haven't accomplished much; but you've brushed off some dust of that old math/CS knowledge that sometimes gets asked at software development job interviews. So it's not all a waste.

The problem was posted on Facebook by a friend who encountered it in his engineering work.

Suppose you have tasks A, B, and C. Task A occurs nA times in a given time period, task B occurs nB times, and task C occurs nC times. Let's say nA is 7, nB is 2, and nC is 1. The time between any two tasks is the same. Let's call it a unit time interval. These tasks repeat endlessly in a loop. The problem is to arrange the tasks in such a way that the number of time intervals between any two tasks of the same type will be minimized.

It may seem simple, but... it's not.

Ideally, any two A-tasks will be separated by at most ceil((nA + nB + nC) / nA) intervals, any two B-tasks are separated by at most ceil((nA + nB + nC) / nB), and any two C-tasks are separated by at most ceil((nA + nB + nC) / nC) intervals, where ceil() is ceiling, a function that rounds up a number to the nearest integer larger than it.

I came up with an example (or a counterexample, if you will) where it is impossible to find a schedule that satisfies those constraints.

Say task A occurs 19 times in a given time period, task B 13 times, and task C 3 times. Then nA + nB + nC = 35. ceil(35/19) = 2, so A-tasks should be separated by no more than 2 intervals. B-tasks need to be no more than ceil(35/13) = 3 intervals apart. Now, if you put a C-task between two A-tasks, then B-constraint will be violated. Any segment A-A is surrounded by B's, i.e. it will be a subset of B-A-A-B, and those two B's are 3 intervals apart. Put a C in the middle, and B-tasks will be 4 intervals apart. That's greater than ceil(35/13) = 3. If you put a C between A and B-tasks, then A-constraint will be violated, because you'll have a sequence A-C-B, so an A following that sequence will be 3 intervals away from the first A. That's greater than ceil(35/19) = 2.

Of course, there are many combinations of frequencies for which it IS possible to find an optimal schedule, for example 19-11-5. Also, if the numbers are multiples of other numbers, this problem may have additional properties that may make it solvable. Then again, engineers usually don't care about exact solutions, rather than "good enough" approximate solutions. If you require that the number of intervals between two tasks of the same type exceed the optimal only a certain percentage of times, the problem becomes complex enough to be a fodder for master's thesis. I wouldn't be surprised if it has been already solved in the academic literature. I just don't know of a good enough way to search for papers or theses that may have been published on this topic.

Further thoughts: you could map this problem to a graph theory problem. Each task can be a node in a graph, and you would need to find a shortest route for visiting all the nodes -- "shortest" as determined by the costs required to visit each node. This would be the traveling salesman problem, which is NP-complete. But this proves nothing, because this particular problem might map to a special instance of traveling salesman problem that's solvable in polynomial time.

Sunday, January 01, 2012

My drafts are a continuum

I don't know if I finished the first draft of my novel. At the beginning of last year I said I was going to, but I don't know. That's because I'm no longer sure what should count as a first draft. The zeroth draft was clear. I had a beginning and an ending, but the middle lacked some chunks. Now all the parts are in place, and in the right order. Finding the right order was nontrivial. Maybe normal writers write a story in a linear fashion, as it develops in time, but that's not me. I write chunks and scenes, and wrack my brain about how to make them fit together. Which one should come before another one? The story can be told in any of the million ways.

I can't help but see stories from a software engineering perspective, not something that develops in time, but as a modular structure that occupies (mental) space. The logical way the modules fit together may not necessarily be the temporal way.

I finally worked out the order in which to string the scenes together. But I also determined I need more scenes with certain characters, because they are more instrumental to the story than I thought before. So can I really say I have Draft 1, or is still Draft 0.5? Or perhaps novel drafts should not be versioned like software releases?

I also have several short (or "short") stories I am working on, all but the newest one completed, and in various states of rewriting. One of them underwent five rewrites -- five completely different variations on the same theme with the same characters, converging on the same finale -- and this is still not the end. I need to figure out how to make the final version shorter. Might I be overthinking this just a tad?

That's the state of my writing for 2011. As far as my programming goes (and I can only speak of spare time projects, not anything I do at work), I'll spare the gentle reader an account of all false starts and stops on my coding endeavors throughout the year. It suffices to say that for the last month I've been trying to get an application I wrote to work on a Windows-hosted website. It is supposed to automate certain tasks on which I spend a lot of time, so it is important to me. To make a long story short, I found out that there are certain incompatibilities between the development environment on my laptop, and my Windows website environment, that can make it impossible to host that application. There are a couple of ways to deal with this, and I don't know which is more viable. It can also be said that when it comes to web hosting, I have champagne tastes on beer budget.