Remember Bing?

Yeah, Bing. The Google-killer. The Decision Engine. $100 million marketing budget.

Bing.

The Waiting is Over!

I finally got my score back from round one of the Cyberspace Open and I think it’s unlikely that I will be (officially) advancing to the next round.

For reference, you can read my entry here. This is the review in full, with the reviewer’s ID and my email addy redacted:

Total Score–Calculated: [21+20+21+21]
Reviewer ID number:
Writer’s Name: Jerry Seeger
Writer’s Email Address:
Structure Score: 21
Dialogue Score: 20
Style Score: 21
Originality Score: 21
Judge’s Comments: The scene has a nice energy to it throughout, though the action feels a little hackneyed and familiar. The relationship between Tommy and Lenore is interesting but it never really becomes something easy to invest in. The dialogue is a little talky and the writing a bit wordy. Try not to open a scene with a large chunk of description – ugh! Apply the 4 line rule throughout (no more than 4 lines of description at any one time). A slimmed down writing style that shows rather than tells – using as few words as possible – would help to bring out the inherent drama and suspense. Less is often more! Good luck.

I knew some of this criticism was coming; the ‘hackneyed and familiar’ part was the subject of a previous lament in a comment somewhere. I failed to break the two out of the ‘modern Bonnie and Cyde’ mold and give the two their own identities. A pity. The opening wordiness demerit is a bit frustratiing; I had put in extra stuff to set the context of the scene better (in an actual script you’d know about the GTO already, for instance), and normally character descriptions would not happen there. They would have been taken care of long before.

As for the wordy dialog, there’s one phrase, “You got some drivin’ to do,” that I really dislike now, but I think the two are talky people. Once again without context the mercurial conversations don’t make as much sense. It goes back to me doing a better job establishing who these people are in the first few words. I failed at that.

Still, I think it’s a fair score and the comments are things I can definitely learn from as I work on other things.

Will I go on to round two? I have to admit that I’m pretty pessimistic on that front. I expect I’m firmly in the middle of the pack of competent entrants, but I think it’s going to take a little more than that to move on. Only time will tell, however, so keep your digits crossed!

Extra World Fantasy Convention Tickets?

A friend of a friend is looking for a ticket for this year’s World Fantasy Convention in San Jose. Apparently they’re sold out. Anyone out there have a spare?

The Waiting is the Hardest Part

As the end of judging nears, I still haven’t received my score. Is that a good sign? Does it mean they are holding back the top candidates so they can sort out the best 100 after their first pass? Do they want to announce the winning scores all at once? Or is it that since I submitted a long time before the deadline I’m at the bottom of the virtual pile, unread?

No way to tell.

However, while I can think of positive reasons my score announcement might be delayed, I can’t think of any negative ones — unless they lost my entry, but I think we’d be able to work that out. They’ve been quite reasonable with other folks who have fallen to technical glitches. So: only good reasons for them to delay telling me my score. Most likely they just haven’t got to me yet. No reason to fidget.

Except that I’m a writer, and I’m bound by the Writers’ Code to be neurotic about stuff like this.

Rounded Corners and CSS3

NOTE — June 7, 2010:
This page is a little out of date; the main Webkit browsers now work better with NO prefix on the styles. It’s time to say goodbye to -webkit-. In the following discussion, using the standard syntax will work with Chrome, Safari, and Opera as well. The table referenced below has been updated to reflect the newer browsers.

If you poke around this site you will see boxes with rounded corners. If you use Safari or Firefox, you will see even more.

Rounded corners are implemented here in two different ways. The main boxes with the drop shadows are done the old-fashioned way, the way that works on most browsers. Each corner is a graphic with an alpha-channel shadow, and the edges are yet more graphics, repeated as needed to span the distance between the corners. The boxes expand and contract infinitely in both directions. It’s not bad. It’s also a pain in the butt.

Yet, I like rounded corners. They seem friendlier. I have broken down, therefore, and in a few places I have added browser-specific style information to create a softer-feeling blog. Since the rounded corners are purely cosmetic — everything still works just fine in browsers that don’t support border-radius — I’m not too worried about it.

However, while I was looking into the border-radius CSS property, I discovered several sources that didn’t get it right.

Here’s the deal. The CSS3 standards draft includes a property called border-radius. Exactly how that property is going to work has not been finalized, but it’s not likely to undergo any more major revision. Meanwhile, Firefox and Safari have already worked out their own border-radius implementations, called -moz-border-radius and -webkit-border-radius respectively. Other browsers see the -moz and the -webkit prefixes and ignore the property.

Unfortunately, neither implementation matches how the proposed border-radius property will act. Oh, dear. When the browsers are updated to match the standard, those -vendor-border-radius properties may break. A lot of Web designers out there don’t seem to realize that.

NOTE: probably at this point you should open up this handy table to follow along.

It’s not all doom and gloom, however. As long as people using the vendor-specific border-radius properties keep things really simple, there won’t be a problem. Here’s the skinny:

std-br-15
All four corners with 15px radius
<style type="text/css"> .roundedBox { -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; } </style>

will put a nice rounded corners on any block element of class roundedBox. Safari 4 and Firefox 3.5 (the browsers I have to test on) will work today, and when the formal border-radius is adopted and the other browsers support it, everyone will be happy. (Remember, of course, that in the meantime a large part of your audience will still see squared-off corners.)

The tricky part comes when one wants to specify elliptical corners, or specify different radii of curvature on different corners. When you start getting fancy, things get a little messed up. Let’s tackle the second one first, because it’s possible to find a way to specify the different corners that makes everyone happy. It’s just long-winded.

border-radius is really shorthand for four properties: border-top-left-radius, border-top-right-radius, and so forth. Therefore it’s perfectly safe to specify each corner independently, and all the browsers will act the same way:

moz-br-20-10
top-left and bottom-right 20px radius, others 10px
<style type="text/css"> .roundedBox { -webkit-border-top-left-radius: 20px; -webkit-border-top-right-radius: 10px; -webkit-border-bottom-right-radius: 20px; -webkit-border-bottom-left-radius: 10px; /* different! */ -moz-border-radius-topleft: 20px; -moz-border-radius-topright: 10px; -moz-border-radius-bottomright: 20px; -moz-border-radius-bottomleft: 10px; border-top-left-radius: 20px; border-top-right-radius: 10px; border-bottom-right-radius: 20px; border-bottom-left-radius: 10px; } </style>

Note that the names of the four corner properties are different for Mozilla. Aargh. All the more reason to hope the spec is finalized soon. I put the four properties in the order the software considers them when parsing the shorthand notation, just to get into the habit.

All those lines of CSS can be a pain in the butt, but it’s bulletproof and will work on into the future. But wouldn’t it be nice if you could use shorthand for the border radius the same way you do for margins and padding? The boys at Mozilla thought so, and the CSS3 standards team thought so, too. Webkit (Safari) seems content to only support the long-winded method for now (at least support it properly – more on that later).

Before talking about the differences between the browsers and the CSS3 spec, let’s take a quick look at the theory. As with properties like border, the border-radius property is just a shorthand so you don’t have to specify each corner individually. If you use one number, like border-radius: 10px; the style will be applied to all the corners. If you supply four values, the four corners each get their radius set, starting with the upper left and working clockwise. So far, so good, but there’s trouble ahead.

[The following has been edited since it was first published. I first said that Mozilla was doing the following drawing wrong, but it looks like they have it right and Safari is wrong. Sorry for any confusion. To make up for it I added box-shadow here and there for browsers that support it. They’re sweet!]

The difference is elliptical corners. CSS3 calls for them, but the draft isn’t very well-written. The mystery lies in what should happen when two values are specified: border-radius: 20px 10px. When you are specifying a single corner, the result will be an elliptical curve. When using the shorthand, however, Safari draws all four corners with the same ellipse, but Firefox (and the CSS3 spec) draw round corners that turn out just like the example above.

According to the spec (by my reading), when using shorthand if you don’t use slashes you don’t get ellipses.

std-br-20-10
All four corners with elliptical curvature
<style type="text/css"> .roundedBox { /* four elliptical corners */ -webkit-border-radius: 20px 5px; moz-border-radius: 20px / 5px; border-radius: 20px / 5px; } </style>

NOTE: The most recent builds from webkit.org match the spec. I don’t know when those changes will reach Safari, but sites using the two-value shorthand may have to deal with some inconsistencies between browser versions. Not sure, but I would avoid using that syntax just in case.

What about if four values are specified?

std-br-20-10-5-30
All corners different
<style type="text/css"> .roundedBox { /* four different circular corners */ /* no effect! */ -webkit-border-radius: 20px 10px 5px 30px; -moz-border-radius: 20px 10px 5px 30px; border-radius: 20px 10px 5px 30px; } </style>

Once again Webkit-based browsers like Safari and Chrome fall short. The Webkit team seems content to get the longhand method of specifying corners right, but not the shorthand. Mozilla, in the meantime, has worked out the most complex and versatile form of the shorthand, but disagrees with the spec fundamentals.

To use shorthand to specify four different elliptical corners, you would use something like:

-moz-border-radius: 20px 10px 20px 5px / 5px 10px;

where you specify up to four horizontal radii and then up to four vertical radii. The numbers before the slash are the horizontal radii, starting from the top left. If only two numbers are given, they alternate. Three numbers means top-right and bottom-left share. The y-radius values are the numbers after the slash, and are distributed the same way. Clear? Good.

I have read that if the text rendering is vertical, the horizontal and vertical parts are reversed, but I see nothing about that in the proposed specification.

This will make a lot more sense if you study the twoblue-shaded lines of the table.

While we’re looking at the table, note that Safari is perfectly capable of displaying the most complex borders, but they have not implemented the shorthand notation (except for the bit they did wrong). They’ve done the hard part, but left out the one-day coding job of parsing the shorthand strings into the properties for each corner. Odd. The rules are really very simple for a machine.

So what does this all mean?

In conclusion, while it’s possible to write different sets of -vendor-border-radius CSS properties and get what you want, things start to get quite messy. It’s a lot of effort for aesthetic touches that half your audience won’t see for the next couple of years. I’d advise just staying away from elliptical corners for now, and specifying round corners individually if any are different. It’s a bit more typing, but it’s a lot safer. Stay away from -webkit-border-radius: with two values.

Bad Judgement

I wrote this scene over the course of two days, and I stopped myself before I edited all the fun out of it. (At least, I hope I did.) Lenore and Tommy seem to be in a heap of trouble, but can they even trust each other? The scene that comes after this one is awesome, if unwritten.

As a reminder, here’s the premise:

Your PROTAGONIST is in a jam. He (or she) had been relying on deception in order to further his objective, but his ENEMY has figured out the ruse. Write the scene in which your protagonist’s LOVE INTEREST confronts him with this information acquired from the enemy – while in staging it in a tricky or dangerous situation.

I learned a few things while writing this… but let’s cut to the chase.

INT. GETAWAY CAR
LENORE (26,) a willowy blonde, is behind the wheel of a souped-up GTO, her hair blowing in the wind from the sunroof. She is grinning maniacally as she flies down a two-lane blacktop. Abruptly she cranks the wheel and the car goes into a sideways skid, kicking up a cloud of dust as she comes to rest by the prison wall. Sirens blare. She leans over, pulls the handle on the passenger door, and TOMMY (28,) tall and angular, jumps in. He is wearing orange prison overalls and his dark hair is buzzed short. Lenore stomps the gas pedal with her bare foot and the car leaps away. Up on the wall a few of the guards shoot at the fleeing vehicle.
Lenore is so excited she can’t sit still; she is bouncing in the seat.
LENORE
Hey, baby!
She leans over to kiss her boyfriend, almost driving off the road in the process. Tommy sits with arms folded, staring straight ahead. Lenore hesitates, then looks up barely in time to straighten the car before it goes in a ditch. Her enthusiasm is diminished.
LENORE
Ain’t you happy to see me?
TOMMY
Surprised you bothered to come.
LENORE
What?
Lenore slams on the brakes and the car comes screeching to a halt. Tommy bounces off the dash. Lenore glares at him.
LENORE
Just what are you insinuatin’?
Tommy glances back behind them. In the distance are the flashing lights of pursuing police cars.
TOMMY
Can’t we talk about this later?
LENORE
I’m not moving one inch until you explain to me what that remark was supposed to mean.
TOMMY
The cops are coming!
Lenore sits back and sets her jaw. A tear leaks from one eye.
LENORE
I don’t care.
TOMMY
You want to talk? Fine! Judge Hastings come down to visit me the other day.
Lenore pounds the steering wheel.
LENORE
(to herself)
That bastard!
TOMMY
He says you two been gallivanting all over town.
LENORE
Gallivanting!
TOMMY
That was the very word he used.
Lenore smashes down on the gas and the car rockets forward in a cloud of burning rubber.
LENORE
(under her breath)
I’ll gallivant his sorry ass…
TOMMY
So what about it?
Lenore picks up a pistol and puts on a bright smile.
LENORE
I got your favorite gun in the back seat.
TOMMY
Is it true? What he said?
The cars behind open fire, but with little effect.
LENORE
Can’t we talk about this later?
Lenore holds her gun out the window and fires a few shots. She pops the magazine from the gun and, driving with her knee, loads in another one. The car hits a bump and skids wildly. Tommy bounces off the head liner.
TOMMY
Dammit! Watch where you’re going!
LENORE
Tommy, we need drivin and we need shootin, and I got the only steering wheel.
Tommy sighs dramatically and reaches into the backseat and pulls out a wicked-looking automatic rifle. He caresses the finish.
TOMMY
Hello, baby.
LENORE
You two can cuddle later. It’s time to go to work.
Tommy works the bolt and takes a breath. He sticks his head out the sunroof and fires a few bursts with increasing glee. One of the pursuing cars skids off the road. Tommy laughs and sits down.
TOMMY
Whoo! Yessir! Tommy’s back!
He pops up and fires off another burst, spraying bullets behind them until he runs out. Return fire punches holes in the trunk. He sits down to reload. Lenore holds her gun out the sunroof and fires randomly. She swerves a little just for fun. Tommy looks over at her, grinning.
TOMMY
I love you, Sugar Pie.
LENORE
I love you too, Hunny Bear.
He leans over and kisses her hard, then turns back to the job at hand. He hesitates as he’s putting a fresh magazine into his gun, and pops out a cartridge. It has a dull gray case.
TOMMY
What’s this?
LENORE
What’s what?
He holds a bullet up in front of her, an inch from her face, blocking her vision. She swerves as she bats it away. He bounces off the dashboard again.
TOMMY
These cartridges have steel cases! You know Black Beauty here only likes brass.
LENORE
But the steel’s so much cheaper. Money’s tight right now.
Tommy stutters, trying to make sense of what she just said.
TOMMY
Money’s… what? Tight? We have thirty million dollars!
Lenore cringes and occupies herself with driving and shooting. A bullet come through the car, shattering the rear window and spidering the windshield.
LENORE
It’s just… not available right now.
Tommy is beyond words. More bullets hit the bodywork of the car. Tommy reaches up through the sunroof and fires, but his heart’s not in it. Lenore looks over at him and tries a feeble smile.
LENORE
It’s… invested?
Tommy points his gun at Lenore. He is shaking with rage.
TOMMY
Invested where.
Frightened, Lenore points her gun at Tommy. Ahead two police cars are blocking the highway; Lenore and Tommy don’t see them. After a momentary standoff the two begin to shout simultaneously, jabbing at each other with their guns.
TOMMY
Where’s the goddam money?
LENORE
Don’t be this way, Tommy. Don’t get all crazy on me now. Remember what the doctor said. You’re scaring me, baby.
TOMMY
Does Hastings have it? Hasting’s got our goddam money, don’t he? You gave Hastings our goddam money!
LENORE
No!
Lenore pauses and realizes that Tommy has handed her a convenient scapegoat. She “confesses” through her tears.
LENORE
Yes! It’s Hastings! He… uh… he tricked me, Hunny Bear. He said… We have to get our money back!
Tommy nods, suddenly calm.
TOMMY
You shoulda just said.
He gestures up the highway.
TOMMY (CONT’D)
Road block.
Lenore keeps the gas to the floor and braces herself. The engine is roaring and starting to smoke. The speedometer climbs. Tommy puts his seat belt on; ahead, police begin to scatter. The two face forward, their calm faces shiny with sweat.
LENORE
I’m sorry about the cheap ammo.
TOMMY
We’ll talk about it later, Sugar Pie. You got some drivin to do.
Lenore scans the scene ahead, concentrating, then cracks a little smile.
LENORE
Roll down your window.
Tommy works the window crank.
TOMMY
I love it when you smile like that.

Round One Complete

There are still several hours left before the deadline, but, well, I was done, so I submitted my entry. I just saw this message:

Seeing this screen means your entry arrived.

Finally, congratulate yourself for having the courage to say,
“I can create on deadline,” and then doing it. Yay!

There is nothing more to do; my fate is in the hands of the judges now. Let’s all keep our fingers crossed for a top-100 finish. Think positive thoughts and all that crap. I’ll be posting my entry here in a while, but I’m going to reread the rules to make sure it’s OK first.

To the rest of you still working on the challenge: You can do it! Go Team Muddle!